偏好& CheckBoxPreference

时间:2010-09-09 13:26:27

标签: android preferences checkboxpreference

PreferenceActivity的documentation声明“当用户与其进行交互时,这些首选项将自动保存到SharedPreferences。”在这种情况下,如果我将PreferenceActivity子类化,在onCreate中调用 addPreferencesFromResource ,请在UI中设置一些首选项,我希望自动保存对我的首选项所做的任何更改;当我稍后返回我的偏好屏幕时,应该恢复所有首选项。

我问的原因是CheckBoxPreference没有按预期运行,假设我的理解当然是正确的。我希望如果我有一个CheckBoxPreference,用户选择应该在更改后自动保存。情况不是这样吗?

那么有人可以在必要时确认我的理解或纠正我吗?

我可以创建一个自定义首选项屏幕来处理代码中的所有更改,但我更喜欢使用推荐的方法。我只是想知道是否有错误。

我只想说我现在有点沮丧。

BTW我正在开发针对api的v2.0。

2 个答案:

答案 0 :(得分:1)

  

我希望如果我有一个CheckBoxPreference,用户选择应该在更改后自动保存。   情况不是这样吗?

如果他们做出积极的选择,这种方法很好。如果他们访问您的活动但未触及CheckboxPreference,则会保留默认值。

答案 1 :(得分:1)

事实证明我的错误非常简单。

我正在使用strings.xml来存储复选框键的名称,并在运行时取消引用它,就像我们使用标签等那样。这个值正在解析为有一个空格,所以当然它不会工作

错误的字符串条目是这样的:

<string name="key_vibrate_pref">Vibrate preference</string>

应该是这样的:

<string name="key_vibrate_pref">ckPrefVibrate</string>

DOH !!!!