2011-11-28 107 views
4

我正在构建一个Android应用程序,我有偏好存储在从网上加载的类(我们与网站同步首选项),但使用PreferenceScreen,他们似乎会被忽略,当使用正确的蜜蜂。Android的喜好似乎忽略setDefaultValue

在XML我已经关闭的坚持和我要确保在Java中,像这样p.setPersistent(false);

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

我只用EditTextPreferences和CheckBoxPreferences,而且这两个不工作。我试过在编辑器中设置它,但它似乎不起作用。

感谢,

回答

5

最后成功地做到这一点。由于谷歌中非常聪明的人,由于喜好似乎只是在设计时就设定的(有点愚蠢),所以他们非常难以做到这一点。

我做了所谓的FlushPreferences其实现方式类似于setDefault方法的接口,我是用EditTextPreferenceCheckBoxPreference他们称之为onSetDefaultValue内部功能让他们正确显示所做的偏好类的子类。

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

(P.S如果谁在谷歌看到了这一点,请修复它为Android 4.1或东西)

+0

您运行的得到这个固定的Android 4.1,如果你自己做一个更好的机会。写一个错误报告,然后修复。见http://source.android.com/source/life-of-a-patch.html – Robert

+0

谢谢,我会做到这一点! :D(但是我的目标是2.2+) –