4

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

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

    customPrefs.setOnPreferenceClickListener(new OnPreferenceClickListener() { 

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

とにかくカスタムプリファレンスファイルをこの自動プリファレンスクラスにバインドする方法はありますか?

+1

カスタム設定ファイルを実装してバインドする方法(コード)を教えてください。また、デフォルト実装を使用するのはなぜですか?別のファイルが必要な場合を除き、それを処理する必要はありません。それはスペルミスや問題のもう一つの原因です... – davidcesarino

+0

これは、カスタムperferenceファイル "Utils.setSpPreferences(getSharedPreferences(Utils.PREFS_NAME、0));"のインスタンスを取得する方法です。私はデフォルトの設定ファイルを使用したいと思います。しかし、カスタム設定ファイルで複数のデバイスで自分のアプリをテストしています。私は今それを変更したくありません。 – vikramjb

+0

私はあなたが提案したように、カスタムプリファレンスをデフォルトのプリファレンスに置き換えて終了しました。多くの時間を節約できました。以前にそれをしていたはずです。再度、感謝します。私はあなたに投票しましたが、あなたが答えとしてそれを投稿できるなら、私はそれを答えとして受け入れます。 – vikramjb

答えて

5

PreferenceActivityで使用されている環境設定の保存に使用するファイルのカスタム名を設定するには、getPreferenceManager().setSharedPreferencesName("file_name")メソッドを呼び出します。 の前に設定する必要があることを忘れないでください。そうしないと、UIは間違ったファイル(デフォルトのもの)に変更されます。

私が言ったように、にはが必要です。これは、システムが提供するデフォルトファイルを使用できるためです。他の場所で設定を読む必要がある場合は、PreferenceManager.getDefaultSharedPreferences(Context context)に電話することができます。

私はすでにthose remarks in another questionに対処しました。

また、一部のメソッドは推奨されなくなりました。あなたが新しいコードを書いているなら、それらを避けて、新しい「断片化の方法」に従ってください。

+1

Davidに感謝します。私はデフォルトの設定ファイルを使用して終了しました。 – vikramjb

関連する問題