共享首选项始终返回默认值

时间:2012-02-08 23:16:42

标签: java android

我有共享首选项的设置,所以它使用2个数组。除了使用不同的android:entryValues。

之外,我的所有ListPreference都有效

我搜索了高低,试图找出如何回忆android:entryValues但找不到任何特定于此问题的内容。

当我使用密钥名称时,它会崩溃。

继承代码;

XML首选项。

<ListPreference
    android:title="Item Size"
    android:summary="Set the item size."
    android:key="itemSize"
    android:defaultValue="Medium"
    android:entries="@array/itemSize"
    android:entryValues="@array/itemSizeNumbers"
/>

XML值

<string-array name="itemSize">
    <item>Small</item>
    <item>Medium</item>
    <item>Large</item>
</string-array>
<string-array name="itemSizeNumbers">
    <item>8</item>
    <item>12</item>
    <item>18</item>
</string-array>

无论如何,_items_screen_percentage总是返回12.

this._items_screen_percentage = this.prefs.getInt("itemSizeNumbers", 12);
Log.w("Item Size",Integer.toString(this._items_screen_percentage));

有没有人知道从共享偏好中获取EntryValues的简单方法?

1 个答案:

答案 0 :(得分:0)

密钥名称为itemSize,因此您应该查询itemSize的偏好设置,而不是itemSizeNumbers。此外,它是一个字符串数组,因此您的结果将是一个字符串,而不是整数。