在PreferenceActivity中使用非默认首选项

问题描述 投票:12回答:1

使用PreferenceActivity,Android会自动保存简单的首选项,例如选中复选框等。我有两个问题:

1-这些首选项在哪里保存?是否与PreferenceManager.getDefaultSharedPreferences(Context)返回的首选项文件相同?

2-是否可以使用一组不同的首选项?即使用context.getSharedPreferences(字符串名称,int模式),您可以提供一个字符串来标识一组特定的首选项。是否可以在这样返回的一组首选项中保存PreferenceActivity中的首选项?

谢谢,巴里

android sharedpreferences preferenceactivity
1个回答
13
投票

是有可能。

看看:https://idlesun.blogspot.com/2012/12/how-to-make-preferenceactivity-use-non.html

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()之后调用!

© www.soinside.com 2019 - 2024. All rights reserved.