ListPreference の配列選択に従って CheckBox 設定を無効にするにはどうすればよいですか?
私が持っているのは、自動モードまたは手動モードが選択されている場合、加速度計の軸反転を制御するチェックボックスを有効にしたくないということです。どうすればリアルタイムで実行できますか? ヒントをありがとう。
ジェイソン
<?xml version="1.0" encoding="UTF-8"?>
<resources>
<string-array name="game_mode_text">
<item>Auto Mode</item>
<item>Manual Mode</item>
<item>Accelerometer Mode</item>
</string-array>
<string-array name="game_mode_values">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>
</resources>
@Override
public boolean onPreferenceTreeClick(PreferenceScreen preferenceScreen,
final Preference preference) {
ListPreference accelMode = (ListPreference) findPreference("ModeKey");
CheckBoxPreference checkBoxPreference = (CheckBoxPreference)findPreference("invertAccelKey");
if(preference.equals(accelMode)) {
String value = preference.getSharedPreferences().getString("ModeKey", "0");
if(value.equalsIgnoreCase("0") || value.equalsIgnoreCase("1")) {
checkBoxPreference.setEnabled(false);
}else
checkBoxPreference.setEnabled(true);
}
return true;
}