Я пытаюсь реализовать настройки Android Jetpack для экрана настроек.все работает хорошо, когда я нажимаю MultiSelectListPreference, он показывает список записей, но у меня есть несколько вопросов,
- , почему entryValues не может быть целочисленным массивом?(строка-массив работает нормально)
- как установить значения по умолчанию?Например: я хочу установить вторую и третью запись, которые будут проверяться по умолчанию в начале.
это часть моего файла pref.xml
...
app:entries="@array/res_entries"
app:entryValues="@array/res_id_values"
app:defaultValue="@array/res_def_values" //this line is not working
...
Если я установлю res_id_values
в файле arrays.xml как integer-array
, то приложение будет аварийно завершать работу.
Мой класс settingsFragment расширяет PreferenceFragmentCompat и переопределяет onCreatePreferences
, и в нем я написал
setPreferencesFromResource(R.xml.pref.xml, rootkey)
EDIT
My res_entries
массив:
<string-array name="res_entries">
<item>apple</item>
<item>Mango</item>
<item>Guava</item>
</string-array>
мой res_id_values
массив:
<string-array name="res_id_values">
<item>1</item>
<item>2</item>
<item>12</item>
</string-array>
мой res_def_values
массив:
<string-array name="res_def_values">
<item>true</item>
<item>false</item>
<item>true</item>
</string-array>