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

В настоящее время вы пытаетесь получить значение предпочтения с именем массива entryValueslangPrefValues, и это недопустимое значение.

Вместо этого вы должны использовать ключ предпочтения, чтобы получить текущее значение предпочтения, которое равно prefLanguage в предоставленном xml.

String langPref = sharedPrefs.getString("prefLanguage", "NULL"); 
Смежные вопросы