0

我有語言選擇的列表偏好的機器人偏好屏幕安卓偏好的getString返回空值

<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字符串的空值。

回答

1

您當前正在嘗試使用名稱entryValues數組langPrefValues來獲取首選項值,該值不是有效的首選項值。

您應該使用首選項鍵來獲取當前的首選項值,它是在提供的xml中爲prefLanguage

String langPref = sharedPrefs.getString("prefLanguage", "NULL");