1

背景:
私は3つの設定グループを持つpreference.xmlを持っており、それらをGroupA、GroupB、GroupCと呼び、それぞれにいくつかの項目があります。オプションインテントを開始すると、3つのグループが表示され、各グループをクリックするとサブアイテムが表示されます。これは問題なく機能します。

メインアクティビティから設定インテントを開始すると、次のようにいくつかの追加情報を渡すことができます。

Intent intent = new Intent(this, Options.class);
intent.putExtra("pg","GroupB");
startActivity(intent);

そして、OptionsクラスのonCreateルーチンで、次のような追加情報を読み取ります。

String sPrefGroup = intent.getStringExtra("scr");

質問:
Preferences XMLのルートから開始するのではなく、選択したPreferenceGroupを表示するようにOptionsクラスに指示するにはどうすればよいですか?

4

1 に答える 1

1

簡単な解決策は、preferences_groupb.xmlというpreferences.xmlファイルのコピーを作成することでした。このファイルには、表示したい設定項目のみが含まれていました。

次に、Options.classで、次のようなコードを使用しました。

Intent intent = getIntent(); 
String sPrefGroup = intent.getStringExtra("pgGroupB");
if (TextUtils.isEmpty(sPrefGroup))
    addPreferencesFromResource(R.xml.preference);
else
    addPreferencesFromResource(R.xml.preference_favorites);
于 2012-12-14T02:47:50.907 に答える