我的xml目录中有user_preferences.xml。 PreferencesActivity使用此文件来创建用户首选项活动..这样可行。用户在此处选择的内容仍然存在。但我无法检索用户选择的值。
当我使用...
SharedPreferences preferences = getSharedPreferences("user_preferences.xml", 0);
String mapTypeString = preferences.getString("map_type_pref_key", "DEFAULT");
... mapTypeString始终为“DEFAULT”。
当我实例化我的SharedPreferences对象时,似乎找不到我的user_preferences.xml。但是,PreferencesActivity当然会找到它。那么,我错过了什么?
非常感谢!
答案 0 :(得分:13)
将您的代码更改为:
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);
String mapTypeString = preferences.getString("map_type_pref_key", "DEFAULT");
答案 1 :(得分:0)
编辑后必须提交首选项。
SharedPreferences preferences = getSharedPreferences("user_preferences.xml", 0);
SharedPreferences.Editor editor = preferences.edit();
editor.putString("map_type_pref_key", "blah_blah");
editor.commit();