获取值当前所选项目的在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,没有关键的选定项目,只有一个条目... –