Получить значение выбранного в данный момент элемента в ListPreference
просто:
String selected = sharedPrefs.getString(
getString(R.string.list_preference_array),
"default string"
);
Но теперь мне нужно вместо этого получить клавишу выбранного в данный момент предмета. Возможно ли это?
Для пояснения, типичное определение ListPreference в файле XML содержит следующие компоненты:
<ListPreference
android:key="@string/list_preference_array"
android:title="Title of ENTIRE list (not seen by user?)"
android:summary="this is what the user sees in small fonts"
android:defaultValue="just in case"
android:entries="@array/user_friendly_labels"
android:entryValues="@array/code_meaningful_strings"
android:dialogTitle="User Prompt(big font)"
android:showDefault="true"
android:showSilent="true"
/>
Что возвращает sharedPrefs.getString()
, это текущий выбор из android: entryValues . Что меня интересует, так это текущий выбор из android: записи . Я по ошибке назвал его «ключом», но на самом деле это «соответствующий ярлык», который должен отличаться от реального содержимого.