我有PreferenceActivity一個XML文件(/res/xml/setting.xml):如何在android XML中從<string-array>資源訪問<item>?
<?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字符串accesing陣列資源的項目的正確語法?
- 如何確定
android:defaultValue
是否正常工作? - 是否有關於
@array
語法的任何文檔?我找不到任何東西。
嗨,你知道如何測試如果android:defaultValue工作嗎? – null 2012-04-18 08:45:02
您可能想要清除應用程序的「清除數據」以將首選項重置爲默認值。您可以在電話設置中執行此操作。 (如果可以幫助你的話,請不要忘記加註和/或標記爲答案) – julian 2012-04-18 09:19:31
嘗試選擇除默認值以外的其他值。然後轉到設置並清除您的應用的數據。下次打開應用程序時,它必須顯示默認值。 – julian 2012-04-18 09:22:12