Android偏好设置似乎忽略了setDefaultValue

时间:2011-11-28 15:10:31

标签: android android-preferences

我正在构建一个Android应用程序,并且我将首选项存储在从Web加载的类中(我们将首选项与网站同步)但是使用PreferenceScreen时,在使用正确的API时它们似乎会被忽略。

在XML中我已经关闭了持久性,我确保在Java中使用p.setPersistent(false);

然后我设置了默认值p.setDefaultValue( boolean );

我只使用EditTextPreferences和CheckBoxPreferences,这两个都不起作用。我已经尝试在编辑器中设置它,但它似乎不起作用。

谢谢,

1 个答案:

答案 0 :(得分:5)

终于成功了。感谢Google中非常聪明的人,他们让这非常困难,因为偏好似乎只是在设计时设置(有点傻)。

我创建了一个名为FlushPreferences的接口,它实现了一个类似于setDefault的方法,并创建了我使用EditTextPreferenceCheckBoxPreference的优先级类的子类,他们称之为{{1} } internal函数让它们正确显示。

代码:https://gist.github.com/1430073

(P.S任何在谷歌看到这个的人:请为Android 4.1或其他东西修复它)