Android使用xml文件中的array資源


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中。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM