標籤:
Android中有種使用數組的非常簡單的用法,在xml檔案中擷取。
建立數組資源
在value目錄下建立arrays.xml檔案
然後在arrays.xml檔案中使用<string-array>或者<integer-array>標籤定義數組:
<?xml version="1.0" encoding="utf-8"?><resources> <string-array name="languages"> <item>C語言</item> <item>Java </item> <item>C#</item> <item>PHP</item> <item>HTML</item> </string-array> <integer-array name="reminder_methods_values" translatable="false"> <item>1</item> <item>2</item> <item>3</item> </integer-array> </resources>
引用數組資源:在java代碼中引用
Resources res =getResources();String[] languages = res.getStringArray(R.array.languages);String[] reminder_methods = res.getIntArray(R.array.reminder_methods_values);
在xml中引用
這裡以spinner控制項為例,因為spinner的entries屬性剛好需要的是數組資源
<Spinner android:id="@+id/spinner1" android:layout_width="match_parent" android:layout_height="wrap_content" android:entries="@array/languages" />
注意上面引用的時候是@array。
其實array資源並不一定非要定義在values/arrays.xml檔案中,這隻是一種不成文的約定,將上面的<string-array name="languages">定義在strings.xml中也是可以的。
Android系統對所有的xml資源檔其實是不加區別的,覺得values資源類型的不在於放在什麼什麼檔案,而在於標籤名,比如string-array的標籤名決定了這是一個array資源。
建議將數組資源統一放在values/arrays.xml中。
Android使用xml檔案中的array資源