我有一个用于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>
Run Code Online (Sandbox Code Playgroud)
然后我有另一个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>
Run Code Online (Sandbox Code Playgroud)
请参阅setting.xml中的ListPreference,我想android:defaultValue设置为winter.png.但是我也不想在xml中设置硬编码/常量值,所以我尝试了各种值,如" @array/background_values/0"," @array/background_values[0]"等...但都失败了.
所以,问题是:
android:defaultValue是否正常工作?@array语法的文档?我找不到任何东西.