4

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

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

    customPrefs.setOnPreferenceClickListener(new OnPreferenceClickListener() {

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

无论如何,有没有办法将自定义首选项文件与此自动首选项类绑定?

4

1 回答 1

5

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

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

我已经在另一个问题中谈到了这些言论

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

于 2012-04-26T22:05:51.187 回答