我正在编写首选项页面(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>
知道为什么我无法获取某些值吗?
答案 0 :(得分:1)
问题在于你错放了你的价值。如果你用@integer
引用一个值,它必须在一个名为的xml文件中(这是一个神秘的......)integer.xml
。此文件必须位于文件夹结构
res/values/integer.xml
右键单击values
文件夹,然后点击“新建 - &gt;值资源文件”,然后输入integer.xml
此处,现在添加您已完成的资源.... tataaaa ....你可以使用它。
由于我没有正确理解原始问题,我必须详细说明这个答案。当然,可以创建一个文件defaults.xml
并在其中放置一个<integer>
项,@integer
仍然可以使用它。所以,在这个问题的开头,你似乎错误地将文件放入了错误的目录。但事实并非如此,所以你的问题必须在其他任何地方。如果default.xml
位于res/values
,则应该有效。