0

まず第一に、私は API レベル 10 を使用しているため、古い非推奨の API を設定に使用するソリューションが必要です。

次のようにaを<PreferenceScreen>定義してsettings.xmlいます (他にも設定がありますが、説明のために 1 つだけ含めました。

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
  <CheckBoxPreference 
    android:key="@string/key_pref_match_locality" 
    android:defaultValue="false"
    android:title="@string/title_pref_match_locality"
    android:summary="@string/summary_pref_match_locality" />
</PreferenceScreen>

アプリを構造化する方法は、この設定画面を複数の場所で使用することです。どのように?次のシナリオを想像してください。

  1. さまざまなグループに割り当てられた人々のリストがあります。たとえば、「友達」、「家族」、「同僚」などです。
  2. 「デフォルト」グループと個々のグループに関連付けられた一連の設定が必要です。この例では、全部で 4 セットの設定 (デフォルト、友達、家族、同僚) を用意し、サーバーにアップロードします。

理想的には、プリファレンスのキーで、それがどのようなプリファレンスであるかを示す必要があります。したがって、デフォルト グループのプリファレンスについては、プリファレンスのキーを 、"DEFAULT_pref_match_locality"グループ「フレンド」については にする必要があります"GROUP_Family_pref_match_locality"

単一の<PreferenceScreen>定義済みを使用して、settings.xmlすべて異なるキーを使用する複数の画面インスタンスを動的に作成する方法はありますか?

4

1 に答える 1

1

はい、できます。Preference.setKey() メソッドを使用してPreferenceScreen、必要な場所をロードし、要素を膨らませ、キーを動的に変更するだけです。Preferenceこれはうまくいくはずです。

于 2012-03-07T09:42:23.117 に答える