android 首选项 getString 返回空值
android preference getString returning null value
我有一个 android 首选项屏幕,其中包含语言选择列表首选项
<ListPreference
android:key="prefLanguage"
android:entries="@array/langPref"
android:summary="@string/pref_set_lang_summary"
android:entryValues="@array/langPrefValues"
android:title="@string/pref_set_language"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:defaultValue="1" />
我正在尝试在 oncreate 操作中获取偏好值
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
String langPref = sharedPrefs.getString("langPrefValues", "NULL");
Log.i("MyActivity",langPref);
但是 logcat 显示 MyActivity 字符串的空值。
您当前正在尝试使用 entryValues
数组 langPrefValues
的名称获取首选项值,这不是有效的首选项值。
您应该改为使用首选项键来获取当前首选项值,即 xml 中提供的 prefLanguage
。
String langPref = sharedPrefs.getString("prefLanguage", "NULL");
我有一个 android 首选项屏幕,其中包含语言选择列表首选项
<ListPreference
android:key="prefLanguage"
android:entries="@array/langPref"
android:summary="@string/pref_set_lang_summary"
android:entryValues="@array/langPrefValues"
android:title="@string/pref_set_language"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:defaultValue="1" />
我正在尝试在 oncreate 操作中获取偏好值
SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this);
String langPref = sharedPrefs.getString("langPrefValues", "NULL");
Log.i("MyActivity",langPref);
但是 logcat 显示 MyActivity 字符串的空值。
您当前正在尝试使用 entryValues
数组 langPrefValues
的名称获取首选项值,这不是有效的首选项值。
您应该改为使用首选项键来获取当前首选项值,即 xml 中提供的 prefLanguage
。
String langPref = sharedPrefs.getString("prefLanguage", "NULL");