android - 在 PreferenceActivity 中使用非默认首选项

标签 android sharedpreferences preferenceactivity

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

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

2 - 有没有办法使用一组不同的首选项? IE。使用 context.getSharedPreferences (String name, int mode) 您可以提供一个字符串来标识一组特定的首选项。是否可以将 PreferenceActivity 中的首选项保存在一组像这样返回的首选项中?

提前致谢, 巴里

最佳答案

是的,这是可能的。

看看那个: 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() 之后调用!

关于android - 在 PreferenceActivity 中使用非默认首选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8027075/

相关文章:

android - 自动点击 WebView

android - 自定义首选项类别标题

android - 单击按钮打开 SettingsActivity 的子首选项屏幕

android - 以编程方式滚动 PreferenceActivity

将文件推送到 Android 设备

android - Realm.io - 如何使用通配符 %LIKE% 进行查询

android - Android 11 中的 PDF 查看器权限问题

android - Commit 上的数据未保存在共享首选项中

java - 使用 Android Studio 从 SharedPreferences 的 Arraylist 中删除项目

android - SharedPreference 值未通过 Android 中的新值进行更新