【发布时间】:2010-11-03 08:21:29
【问题描述】:
如何使用checkbox 创建ListPreference?
我知道如何使用ListPreference,但我需要在“重复”首选项的警报应用程序中进行多项选择。
喜欢这个截图:
【问题讨论】:
标签: android checkbox preference listpreference
如何使用checkbox 创建ListPreference?
我知道如何使用ListPreference,但我需要在“重复”首选项的警报应用程序中进行多项选择。
喜欢这个截图:
【问题讨论】:
标签: android checkbox preference listpreference
从 API 11 开始,您可以使用 MultiSelectListPreference
String[] selections = {"selection1","Selection2"};
Set<String> selectionSet = new HashSet<String>();
selectionSet.addAll(Arrays.asList(selections));
MultiSelectListPreference multiSelectPref = new MultiSelectListPreference(this);
multiSelectPref.setKey("multi_pref");
multiSelectPref.setTitle("Multi Select List Preference");
multiSelectPref.setEntries(selections);
multiSelectPref.setEntryValues(selections);
multiSelectPref.setDefaultValue(selectionSet);
getPreferenceScreen().addPreference(multiSelectPref);
【讨论】:
使用,MultiSelectListPreference
<MultiSelectListPreference
app:defaultValue="@array/watermark_entries_view"
app:dialogTitle="Select Watermark Type"
app:entries="@array/watermark_entries_view"
app:entryValues="@array/watermark_entries_values"
app:key="mode_repeat"
app:summary="Enable Watermark"
app:title="Watermark" />
【讨论】:
该 AFAIK 没有内置偏好。 ListPreference 只能单选。
不过,您可以通过扩展 DialogPreference 创建自己的自定义 Preference 类。
【讨论】:
对于布尔值,您必须使用 SwitchPreference,如下所示:
<SwitchPreference
android:defaultValue="true"
android:key="example_switch"
android:summary="@string/pref_description_social_recommendations"
android:title="@string/pref_title_social_recommendations" />
【讨论】: