2010-11-03 118 views

回答

1

有针对AFAIK没有内置的偏好。 ListPreference仅限单选。

您可以创建自己的自定义Preference类,但通过扩展DialogPreference

19

由于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); 
0

对于布尔值,你必须使用一个SwitchPreference,如下所示:

<SwitchPreference 
     android:defaultValue="true" 
     android:key="example_switch" 
     android:summary="@string/pref_description_social_recommendations" 
     android:title="@string/pref_title_social_recommendations" />