我有一个 PreferenceActivity 的 xml 文件 (/res/xml/setting.xml):
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
<PreferenceCategory android:title="Main Settings">
<ListPreference
android:title="Background Image"
android:summary="Set the background image"
android:key="key_background"
android:entries="@array/background"
android:entryValues="@array/background_values"
android:defaultValue="winter.png" />
</PreferenceCategory>
</PreferenceScreen>
然后我有另一个xml文件“/res/values/string.xml”:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="background">
<item>Winter</item>
<item>Desert</item>
</string-array>
<string-array name="background_values">
<item>winter.png</item>
<item>desert.png</item>
</string-array>
</resources>
请参阅 setting.xml 中的 ListPreference,我想android:defaultValue
设置为winter.png
. 但我也不想在 xml 中设置硬编码/常量值,所以我尝试了各种值,例如“ @array/background_values/0
”、“ @array/background_values[0]
”等……但都失败了。
所以,问题是:
- 在其他 xml 中访问字符串数组资源项的正确语法是什么?
- 如何确定是否
android:defaultValue
正常工作? - 有没有关于
@array
语法的文档?我找不到任何东西。