从ListPreference获取entryValue并设置更改
问题描述:
我不明白从ListPreference
获取entryValue
。我想为我的应用程序设置本地化。但代码必须在setContentView(R.layout.activity_main);
之前设置。简而言之,我的应用程序是一个多语言应用程序。我该怎么办?以及如何从ListPreference
得到entryValue
?从ListPreference获取entryValue并设置更改
这里是我的代码:
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());
感谢您的努力......
答
为什么?这是非常简单的:
listPref.getValue()
应该得到你实际上已经获得的参考提供的当前选择的项值来自您的PreferenceScreen的ListPreference。
[This SO question](http://*.com/questions/6148952/how-to-get-selected-text-and-value-android-listpreference)可能也有帮助。 – 2014-10-02 15:11:34