獲取值當前所選項目的在ListPreference
很簡單:獲取ListPreference選項的關鍵字(不是值) - 可能嗎?
String selected = sharedPrefs.getString(
getString(R.string.list_preference_array),
"default string"
);
但現在我需要獲得當前所選項目的關鍵,來代替。這可能嗎?
爲了澄清,XML文件中的一個典型ListPreference定義具有以下組件:
<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:條目目前的選擇。我錯誤地稱它爲「關鍵」,但它確實是一個「相應的標籤」,它必須與實際內容不同。
沒有的GetString(R.string.select_string)的你的關鍵'收到? – Erik
@Erik'getString(R.string.select_string)'是整個ListPreference數組的關鍵字(「名稱」),而不是選擇。 – uTubeFan
@uTubeFan,如果你使用的是ListPreference,沒有關鍵的選定項目,只有一個條目... –