如何将自动首选项文件绑定到android中的自定义首选项

时间:2012-04-17 02:32:21

标签: android sharedpreferences preferenceactivity listpreference

我刚刚为我正在创建的其中一个示例应用实施了首选项屏幕。我按照谷歌网站上给出的指南。一切都很好,我加载了一个ListPreference,我能够存储它并坚持它。这里还有一个小问题。我已经为应用程序定义了一个自定义首选项文件,但这种自动处理首选项screeen似乎是自己创建一个首选项文件。现在我试图让这段代码工作,但它没有获得自定义首选项文件。

        final Preference customPrefs = getPreferenceScreen().findPreference(Utils.PREFS_NAME);

    customPrefs.setOnPreferenceClickListener(new OnPreferenceClickListener() {

        public boolean onPreferenceClick(Preference preference) {
            customPrefs.getEditor().commit();
            return true;
        }
    });

有没有办法将自定义首选项文件与此自动首选项类绑定在一起?

1 个答案:

答案 0 :(得分:5)

您可以通过调用PreferenceActivity方法为getPreferenceManager().setSharedPreferencesName("file_name")中设置的用于存储首选项的文件设置自定义名称。请记住,您需要在调用addPreferencesFromResource之前设置,否则您的UI仍会将内容更改回错误的文件(默认文件)。

正如我所说,你不需要这样做,因为你可以使用系统提供的默认文件。如果您需要在其他地方阅读首选项,则可以拨打PreferenceManager.getDefaultSharedPreferences(Context context)

我已经解决了those remarks in another question

还要记住,有些方法已被弃用。如果您正在编写新代码,请尽量避免使用它们并遵循新的“片段方式”。