我正在构建一个Android应用程序,并且我将首选项存储在从Web加载的类中(我们将首选项与网站同步)但是使用PreferenceScreen时,在使用正确的API时它们似乎会被忽略。
在XML中我已经关闭了持久性,我确保在Java中使用p.setPersistent(false);
然后我设置了默认值p.setDefaultValue( boolean );
我只使用EditTextPreferences和CheckBoxPreferences,这两个都不起作用。我已经尝试在编辑器中设置它,但它似乎不起作用。
谢谢,
乔
答案 0 :(得分:5)
终于成功了。感谢Google中非常聪明的人,他们让这非常困难,因为偏好似乎只是在设计时设置(有点傻)。
我创建了一个名为FlushPreferences
的接口,它实现了一个类似于setDefault的方法,并创建了我使用EditTextPreference
和CheckBoxPreference
的优先级类的子类,他们称之为{{1} } internal函数让它们正确显示。
代码:https://gist.github.com/1430073
(P.S任何在谷歌看到这个的人:请为Android 4.1或其他东西修复它)