Я знаю, как изменить значение CheckBoxPreference
, но я не могу заставить его работать для ListPreference
.
Вот как построен мой экран настроек:
- один
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;
}
});
И это, кажется, работает, хотя я не уверен, что сделать это
Теперь я пытаюсь сделать что-то похожее, когда выбираю цвет по умолчанию, но не могу получить в списке ни галочку, ни флажок, ни проверку цвета, который будет по умолчанию.
Есть идеи?