0

我正在使用 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.选项

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

4

1 回答 1

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");  
于 2012-08-22T13:39:23.320 回答