Я не понимаю о получении entryValue
от ListPreference
. Я хочу установить локализацию в свое приложение. Но код должен быть установлен до setContentView(R.layout.activity_main);
. Просто мое приложение является многоязычным приложением. Что мне делать? И как получить entryValue
от ListPreference
?Получение entryValue из ListPreference и установка изменений
Вот мой код:
ListPreference
<ListPreference android:key="pref.language"
android:title="@string/language"
android:dialogTitle="@string/select_language"
android:entries="@array/pref_language_entries"
android:entryValues="@array/pref_language_values"
android:defaultValue="en_US"
android:summary="%s" />
strings.xml
<string-array name="pref_language_entries">
<item>English</item>
<item>Indonesian</item>
<item>Russian</item>
</string-array>
<string-array name="pref_language_values">
<item>en_US</item>
<item>in_ID</item>
<item>ru_RU</item>
</string-array>
Насколько я знаю, этот код используется для изменения локали из деятельность:
Locale locale = new Locale("entryValue goes here");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
Спасибо за ваши усилия ...
[Этот вопрос SO] (http://stackoverflow.com/questions/6148952/how-to-get-selected-text-and-value-android-listpreference) также может помочь. –