【发布时间】:2011-11-26 19:00:00
【问题描述】:
我有类似this的问题,所以我按照建议的解决方案进行,并将这行代码添加到onCreate:
PreferenceManager.setDefaultValues(this, R.xml.settings, false);
不幸的是问题仍然存在,如果用户没有更改设置,仍然是默认值(true)来自
mPreferences.getBoolean(String.valueOf(day_of_week), true)
用于代替 XML 中的默认值。
有人提议将 getBoolean() 的默认值参数更改为 null,但此代码会使应用程序崩溃:
mPreferences.getBoolean(String.valueOf(day_of_week), (Boolean) null)
有什么建议吗?提前致谢!
【问题讨论】:
-
您是否在您的
settings.xml中设置了android:defaultValue="default"?并且应该将此行添加到您的主要活动onCreate,而不是您的设置中。 -
不,我将 android:defaultValue 设置为“true”或“false”。 setDefaultValues() 函数位于我的主 Activity 的 onCreate 中,而不是在设置中
-
@JhonnyR,我也浪费了几个小时来追踪这个问题。我同意这是一个错误。人们应该修改这篇文章,以便将来像我这样的人节省时间。
标签: android preferences default-value