在没有了解PreferenceActivity
的情况下,我第一次尝试偏好设置。因此,现在我有一个将所有用户偏好存储在特定偏好文件中的应用程序。
我想迁移到使用PreferenceActivity,但我也希望我的用户保留他们的偏好设置。
有没有办法告诉我的PreferenceActivity在所有偏好设置中使用特定的文件?
在没有了解PreferenceActivity
的情况下,我第一次尝试偏好设置。因此,现在我有一个将所有用户偏好存储在特定偏好文件中的应用程序。
我想迁移到使用PreferenceActivity,但我也希望我的用户保留他们的偏好设置。
有没有办法告诉我的PreferenceActivity在所有偏好设置中使用特定的文件?
可能已经晚了,但你可以在这里找到一个不错的解决方案:
你可以事先设置默认共享偏好文件的名称,像这样:
public class MyPreferencesActivity extends PreferenceActivity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PreferenceManager prefMgr = getPreferenceManager();
prefMgr.setSharedPreferencesName("my_preferences");
prefMgr.setSharedPreferencesMode(MODE_WORLD_READABLE);
addPreferencesFromResource(R.xml.preferences);
}
}
希望这能对某些人有所帮助。
谢谢。
Preferences
将它们存储起来。Editor e = PreferenceManager.getDefaultSharedPreferences(getBaseContext()).edit();
e.putBoolean("yourPreference", true);
e.putString("yourOtherPreference", "This is the Value");
...
e.commit();
希望能对您有所帮助。
Maaalte是正确的,您想要做的是在onCreate中测试自定义文件是否存在,如果存在,则将其重命名为标准共享首选项文件名。
另一个选择是逐个读取旧首选项,并使用共享首选项API在读取它们时添加它们,然后在完成时删除旧首选项。