如何从字符串中选择Locale

时间:2012-08-22 13:21:23

标签: android

我正在使用PreferenceActivity来存储语言。这是我的XML。

<item>US</item>
        <item>UK</item>
        <item>CANADA</item>
        <item>CANADA_FRENCH</item>
        <item>CHINESE</item>
        <item>FRENCH</item>
        <item>GERMAN</item>
        <item>ITALIAN</item>
        <item>JAPANESE</item>

<string-array name="listOfLanguagesValues">
        <item>US</item>
        <item>UK</item>
        <item>CANADA</item>
        <item>CANADA_FRENCH</item>
        <item>CHINESE</item>
        <item>FRENCH</item>
        <item>GERMAN</item>
        <item>ITALIAN</item>
        <item>JAPANESE</item>

然后我用

阅读save dlanguage
String selectedLanguage = sharedPreferences.getString("listOfLanguages", "NULL");        

但我现在不知道如何使用LOCAL.SELECTED LANGUAGE。这些语言均来自LOCAL.选项

我可以以某种方式将其投射到本地吗?

1 个答案:

答案 0 :(得分:1)

我希望我能得到这个问题!!

你需要第二个阵列。例如:

    <string-array name="languageSettings">
        <item name="0">UK</item>
        <item name="1">German</item>
        <item name="2">Italy</item>
    </string-array>
    <string-array name="languageSettingsValues">
        <item name="0">UK</item>
        <item name="1">DE</item>
        <item name="2">IT</item>
    </string-array>

您可以将它连接到ListPreference,如下所示:

    <ListPreference
    android:defaultValue="0"
    android:entries="@array/languageSettings"
    android:entryValues="@array/languageSettingsValues"
    android:key="languageSetting"
    android:summary="@string/preferences_alternativesettings_text"
    android:title="@string/preferences_alternativesettings_titel" />

此行应该有效

String selectedLanguage = sharedPreferences.getString("listOfLanguages", "NULL");