0

I have an android preference screen with list preference of language selection as

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

I am trying to get the preference value within the oncreate action as

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

Log.i("MyActivity",langPref);

But the logcat shows the null value to MyActivity string.

mpsbhat
  • 2,733
  • 12
  • 49
  • 105

1 Answers1

1

You are currently trying to get the preference value with the name of the entryValues array langPrefValues and that is not a valid preference value.

You should instead use the preference key to get the current preference value which is prefLanguage in the xml provided.

String langPref = sharedPrefs.getString("prefLanguage", "NULL");
George Mulligan
  • 11,813
  • 6
  • 37
  • 50