我知道如何更改
以下是我的首选项屏幕构建方式:
现在,当我选择一种颜色时,我会这样做:
CheckBoxPreference
的值,但我无法将其应用于ListPreference
。以下是我的首选项屏幕构建方式:
- 一个用于默认值的
CheckBox
- 一个用于选择除默认颜色以外其他颜色的
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;
}
});
这似乎可以工作,但我不确定是否正确。
现在,当我选择默认颜色时,我一直在尝试做类似的事情,但我无法使列表取消所有选项或选中一个默认颜色。
有什么想法吗?