a の値を変更する方法は知っていますが、 aCheckBoxPreference
に対して機能させることはできませんListPreference
。
設定画面の作成方法は次のとおりです。
- 1 つ
CheckBox
はデフォルト用 - A
ListPreference
でデフォルト以外の色を選択します。
次のListPreference
ように、キー「titleColor」で定義されます。
CharSequence[] entries = { "Dark grey", "Light grey", "Light red", "Red" };
CharSequence[] entryValues = { "#4c4c4c", "#b5b5b5", "#ab6a68", "#962622" };
final ListPreference color = (ListPreference) findPreference("titleColor");
color.setEntries(entries);
color.setEntryValues(entryValues);
さて、色を選択するときは次のようにします。
color.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object newValue) {
System.out.println("In the onClick method");
System.out.println("change title color");
Editor editor2 = defaultColor.getEditor();
editor2.putBoolean("defaultColor", false);
editor2.commit();
return true;
}
});
これはうまくいくようですが、これを適切に行うかどうかはわかりません。
今、私はデフォルトの色を選択するときに似たようなことをしようとしていますが、リストですべてのチェックを外すか、デフォルトになる色をチェックすることはできません。
何か案が?