我有一个像this类似的问题,所以我根据提出的解决方案进行,并加入这行代码的onCreate:Android的首选项:不正确的默认值,尽管“setDefaultValues”
PreferenceManager.setDefaultValues(this, R.xml.settings, false);
不幸的是,问题仍然发生时,如果用户还没有从
mPreferences.getBoolean(String.valueOf(day_of_week), true)
改变了设置,仍然是默认值(真)代替所使用的DEF的XML的价值。
一个建议getBoolean()的默认值的参数更改为空,但是这个代码崩溃的应用程序:
mPreferences.getBoolean(String.valueOf(day_of_week), (Boolean) null)
有什么建议?提前致谢!
你在'settings.xml'中设置了'android:defaultValue =“default”'吗?这行应该添加到你的主要活动onCreate中,而不是你的设置。 – Knickedi
不,我将android:defaultValue设置为“true”或“false”。 setDefaultValues()函数位于我的主Activity的onCreate中,而不是在设置 – JonEasy
@JhonnyR,我只是浪费了几个小时跟踪它。我同意这是一个错误。人们应该修改这篇文章,以便在未来拯救像我这样的人。 – Brandyn