使用PreferenceActivity,Android会自动保存简单的首选项,例如正在检查的复选框等。我有几个问题:
1 - 这些偏好在哪里得到保存?是否与PreferenceManager.getDefaultSharedPreferences(Context)返回的首选项文件相同?
2 - 有没有办法使用不同的偏好设置?即使用context.getSharedPreferences(String name,int mode),您可以提供一个字符串来标识一组特定的首选项。是否可以在这样返回的一组首选项中保存PreferenceActivity的首选项?
提前致谢, 百里
答案 0 :(得分:13)
是的,这是可能的。
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);
}
}
addPreferencesFromResource()
必须在setSharedPreferencesName()
之后调用!