0

Ich habe einen Android-Präferenz Bildschirm mit der Liste Präferenz der Sprachauswahl alsandroid Präferenz getString Rückkehr Nullwert

<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" /> 

Ich versuche, den Präferenzwert innerhalb der oncreate Aktion als

SharedPreferences sharedPrefs = PreferenceManager.getDefaultSharedPreferences(this); 
String langPref = sharedPrefs.getString("langPrefValues", "NULL"); 

Log.i("MyActivity",langPref); 

zu bekommen, aber Das Protokoll zeigt den Nullwert für die MyActivity-Zeichenfolge an.

Antwort

1

Sie versuchen gerade, den Präferenzwert mit dem Namen entryValues Array langPrefValues zu erhalten, und das ist kein gültiger Präferenzwert.

Sie sollten stattdessen den Präferenzschlüssel verwenden, um den aktuellen Präferenzwert zu erhalten, der prefLanguage in der bereitgestellten XML-Datei ist.

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