我正在使用 Android 中的应用程序,并且我有一个列表首选项。问题是,当我使用它获取值时,PreferenceManager.getDefaultSharedPreferences(context).getString(key, value)
它返回本地化字符串而不是我所期望的条目值。在以前的版本中,它可以工作。这是正确的行为吗?在这种情况下,我该怎么做才能获得进入值?这里有一些代码来解释。
提前致谢。
首选项.xml:
<ListPreference
android:id="@+id/protocol"
android:key="protocol"
android:title="@string/protocol"
android:dialogTitle="@string/change_protocol"
android:defaultValue="default"
android:entries="@array/protocol_entries"
android:entryValues="@array/protocol_entry_values" />
数组.xml
<string-array
name="protocol_entry_values">
<item>default</item>
<item>protocol_1</item>
<item>protocol_2</item>
<item></item>
</string-array>
<string-array
name="protocol_entries">
<item>@string/label_default_protocol</item>
<item>@string/label_protocol_1</item>
<item>@string/label_protocol_2</item>
<item>@string/label_other</item>
</string-array>
字符串.xml
<string name="label_default_protocol">Default protocol</string>
<string name="label_protocol_1">First protocol</string>
<string name="label_protocol_2">Second Protocol</string>
<string name="label_other">Other</string>