0

私は、アプリケーションの設定の実装に取り​​組んでいます。設定UIを表示する方法と、を使用して値を読み書きする方法を知っていますSharedPreferences。私たちのアプリでは、2 セットの設定を処理する必要があります。この問題についてお聞きしたいと思います。特に、Android ドキュメントの 1 つのコメントです。

Preference.getSharedPreferences()のドキュメントには、Return valuesセクションの下に次のコメントがあります。

Returnsこの Preference がその値を読み取る SharedPreferences、または Preference 階層にアタッチされていない場合は null。

SharedPreferencesを特定のPreferenceにアタッチする方法をお尋ねしたいと思いますEditTextPreference。言い換えると、 の永続化コードはPreference、ユーザー入力をある特定SharedPreferencesのオブジェクトに格納し、他のオブジェクトには格納しないことをどのように認識しているのでしょうか?

私の質問を例でさらに説明するために、次のようなものがあるとします。

SharedPreferences prefs1 = getSharedPreferences(file1, mode);
SharedPreferences prefs2 = getSharedPreferences(file2, mode);

私の質問はprefs1Preferenceオブジェクトの永続化コードではなくprefs2.

ターゲットは、2.3.4 を実行する Nexus One です。

答えは明らかかもしれませんが、ドキュメントを読んだり、Web を検索したりしても見つかりませんでした。よろしくお願いいたします。

4

1 に答える 1

0

言い換えれば、Preference の永続化コードは、ユーザー入力を特定の SharedPreferences オブジェクトに格納し、他のオブジェクトには格納しないことをどのように認識しているのでしょうか?

PreferencePreferenceManagerのを使用しgetSharedPreferences()、最終的に にルーティングしgetDefaultSharedPreferences()ます。

Preferenceこの動作を変更する独自のサブクラスを作成することは大歓迎ですが、設定画面システムは複数のSharedPreferenceオブジェクトを処理するように設計されていない可能性があるため、設定の変更が保持されない可能性があります。

IOW、再考することをお勧めします:

私たちのアプリでは、2 セットの設定を処理する必要があります

于 2011-06-11T20:19:41.217 に答える