Как сделать ListPreference с флажком - PullRequest
14 голосов
/ 03 ноября 2010

Как я могу создать ListPreference с checkbox?Я знаю, как использовать ListPreference, но мне нужно многократный выбор, как в приложении «Тревога» на предпочтении «повторить».

как этот снимок экрана:

checkboxes

Ответы [ 3 ]

21 голосов
/ 28 февраля 2013

Начиная с 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);
1 голос
/ 03 ноября 2010

Для этого AFAIK нет встроенных предпочтений.ListPreference только для одиночного выбора.

Вы можете создать свой собственный класс Preference, расширив DialogPreference.

0 голосов
/ 10 июня 2017

Для логических значений вы должны использовать SwitchPreference следующим образом:

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