PreferencesScreen/PreferencesCategory (同じアクティビティ) の下にある複数の設定を有効/無効にするために使用したい ListPreference があります。
別の PreferenceScreen または PreferenceCategory の ListPreference 値に応じて、グループ化された設定を無効または有効にする簡単な方法はありますか?
同様の問題を生成する説明:
私はEclipseを使用していますが、同様の手順がAndroidスタジオに存在します。
- 新しいプロジェクトを作成し、[新規] -> [Android アプリケーション プロジェクト] -> このテスト プロジェクトの任意の名前を入力し、[次へ] をクリックして終了します。
- メニューに移動します:ファイル - >新規 - > Androidオブジェクトをクリックし、次に設定を選択し、次のように終了するまで次をクリックします。
終了をクリックした後、エラーが表示された場合は、メニューからプロジェクトを再コンパイルします: project -> clean 。
これで、作成されたプロジェクトに設定があり、onOptionsItemSelected メソッドの MainActivity.java に次のように 2 行を追加して呼び出すことができます。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
Intent i = new Intent (this, SettingsActivity.class);
startActivity(i);
return true;
}
return super.onOptionsItemSelected(item);
}
アプリを実行し、アクションバーの設定をクリックして設定アクティビティを開きます
最後に設定が表示され、次の 3 つの設定画面が含まれます。
pref_general にある「友達をメッセージに追加」を見てください。ユーザーがその値を「never」に変更すると、pref_data_sync の下のすべての設定を無効にする必要がありますが、新しい値が「always」の場合、pref_notification のすべての設定を無効にする必要があります。それ以外の場合は、両方の画面設定ですべての設定を有効にします。