我想使用“活动”中的“按钮”保存首选项。
我在按钮监听器中的代码是:
getFragmentManager().beginTransaction().replace(android.R.id.content, new MainPreferenceFragment()).commit();
正如我在其他一些与SO有关的问题中一样,这应该起作用并修改我称为“ key_points”的首选项。
然后,我点击菜单按钮,然后选择“设置”。
“设置”启动我的SettingActivity,其中的PreferenceFragment类被调用:
addPreferencesFromResource(R.xml.preferences);
然后,PreferenceFragment类将调用:
{{1}}
问题是,我对Button的首选项所做的更改未反映在PreferenceFragment中。
SettingsActivity显示的是旧的首选项值,而不是我提交的首选项值。
出什么问题了,我是否可以让SettingsActivity显示由Button设置的首选项的新值?
谢谢, AJ
答案 0 :(得分:2)
SharedPreferences.Editor editor = getSharedPreferences(PREF_FILE_NAME, MODE_PRIVATE).edit();
可能是因为您没有使用默认的SharedPreferences。首选项值存储在默认值(默认)中。
尝试使用SharedPreferences.Editor editor = PreferenceManager.getDefaultSharedPreferences(context).edit();
而不是自定义的SharedPreferences文件。