Android listpreferences,如何保存个人偏好

Android listpreferences,如何保存个人偏好,android,preferences,sharedpreferences,listpreference,Android,Preferences,Sharedpreferences,Listpreference,我有一些列表首选项,但我不知道如何保存列表中的单个值。我该怎么做?这是我的 “我的列表单击侦听器”仅适用于“列表首选项”页面中的主项,而不适用于弹出窗口中的项。如何保存在弹出窗口中选择的选项?这通常是自动的。在首选项屏幕XML中,您应该有如下内容: <ListPreference android:title="@string/Title" android:summary="@string/Summary" android:key="PreferenceKey"

我有一些列表首选项,但我不知道如何保存列表中的单个值。我该怎么做?这是我的


“我的列表单击侦听器”仅适用于“列表首选项”页面中的主项,而不适用于弹出窗口中的项。如何保存在弹出窗口中选择的选项?

这通常是自动的。在首选项屏幕XML中,您应该有如下内容:

<ListPreference android:title="@string/Title" 
    android:summary="@string/Summary"
    android:key="PreferenceKey"
    android:defaultValue="VALUE_2"
    android:entries="@array/Entries"
    android:entryValues="@array/Values" />

在您的strings.xml中:

<string name="Value1">Text for value 1</string>
<string name="Value2">Text for value 2</string>
<string name="Value3">Text for value 3</string>

<string-array name="Entries">
            <item>@string/Value1</item>
            <item>@string/Value2</item>
            <item>@string/Value2</item>
</string-array>
<string-array name="Values">
            <item>VALUE_1</item>
            <item>VALUE_2</item>
            <item>VALUE_3</item>
</string-array>
值1的
文本
值2的文本
值为3的文本
@字符串/值1
@字符串/值2
@字符串/值2
价值1
价值2
价值3

“值”数组指定保存在首选项中的(字符串)值,而“条目”数组指定显示给用户的项目的文本。每次用户选择一个项目时,“值”数组中对应的值都会保存到指定键(“本例中的PreferenceKey”)下的首选项中。

这通常是自动的。在首选项屏幕XML中,您应该有如下内容:

<ListPreference android:title="@string/Title" 
    android:summary="@string/Summary"
    android:key="PreferenceKey"
    android:defaultValue="VALUE_2"
    android:entries="@array/Entries"
    android:entryValues="@array/Values" />

在您的strings.xml中:

<string name="Value1">Text for value 1</string>
<string name="Value2">Text for value 2</string>
<string name="Value3">Text for value 3</string>

<string-array name="Entries">
            <item>@string/Value1</item>
            <item>@string/Value2</item>
            <item>@string/Value2</item>
</string-array>
<string-array name="Values">
            <item>VALUE_1</item>
            <item>VALUE_2</item>
            <item>VALUE_3</item>
</string-array>
值1的
文本
值2的文本
值为3的文本
@字符串/值1
@字符串/值2
@字符串/值2
价值1
价值2
价值3

“值”数组指定保存在首选项中的(字符串)值,而“条目”数组指定显示给用户的项目的文本。每次用户选择一个项目时,“值”数组中对应的值都会保存到指定键(“本例中的PreferenceKey”)下的首选项中。

您可以这样读取首选项

SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);

String strSavedMem1 = sharedPreferences.getString("key", "Default Value");

您可以像这样阅读首选项

SharedPreferences sharedPreferences = getPreferences(MODE_PRIVATE);

String strSavedMem1 = sharedPreferences.getString("key", "Default Value");

我使用PreferenceManager.getDefaultSharedReferences(context.getString(“key”,“default\u值”)。活动是一个上下文,因此通常可以将“this”作为上下文。我使用PreferenceManager.GetDefaultSharedReferences(Context.getString)(“key”,“default_value”)。活动是一个上下文,因此通常可以将“this”作为上下文。