4

作成しているサンプルアプリの1つに設定画面を実装しました。私はグーグルサイトで与えられたガイドに従いました。すべて問題なく、ListPreferenceをロードし、それを保存して永続化することもできます。ここにも小さな問題が1つあります。アプリのカスタム設定ファイルをすでに定義しましたが、この設定画面の自動処理により、独自に設定ファイルが作成されているようです。今のところ、このコードを機能させようとしていましたが、カスタム設定ファイルを取得していません。

        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 に答える