SharedPreference值形成xml

时间:2017-05-04 16:31:51

标签: android xml sharedpreferences

我正在编写首选项页面(preferences.xml),并尝试从资源文件中检索值。这段代码正在运行;

<PreferenceScreen ...

 <ListPreference
     android:entries="@array/tips"
     android:entryValues="@array/tips"
     android:title="Tip rate"
     />

但事实并非如此;

<EditTextPreference
    android:defaultValue="@integer/invoiceNumberNext" // this doesn't work
    android:key="invoice_number_next"
    android:title="Next Invoice #"
    android:inputType="numberDecimal"
    />

我的defaults.xml页面中有res / values

<resources>
    <integer name="invoiceNumberNext">1001</integer>
</resources>

知道为什么我无法获取某些值吗?

1 个答案:

答案 0 :(得分:1)

问题在于你错放了你的价值。如果你用@integer引用一个值,它必须在一个名为的xml文件中(这是一个神秘的......)integer.xml。此文件必须位于文件夹结构

res/values/integer.xml

右键单击values文件夹,然后点击“新建 - &gt;值资源文件”,然后输入integer.xml此处,现在添加您已完成的资源.... tataaaa ....你可以使用它。

修改

由于我没有正确理解原始问题,我必须详细说明这个答案。当然,可以创建一个文件defaults.xml并在其中放置一个<integer>项,@integer仍然可以使用它。所以,在这个问题的开头,你似乎错误地将文件放入了错误的目录。但事实并非如此,所以你的问题必须在其他任何地方。如果default.xml位于res/values,则应该有效。