Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> [android]在xml文件中定義drawable數組、id數組等

[android]在xml文件中定義drawable數組、id數組等

編輯:關於Android編程

假如我們需要在代碼中為一組view設置相對應的一組圖片資源時(如為listview/gridview的所有item設置一組對應的圖片時),我們就可以在xml中定義一組代表圖片的drawable數組,然後用代碼進行讀取。

開始我是這樣做的:

 


    @drawable/pencil1
    @drawable/pencil2
    @drawable/pencil3
    @drawable/pencil4
    @drawable/pencil5
    @drawable/pencil6

然後在代碼中試圖調用getResources().getIntArray來獲取圖片的id,可發現根本行不通。最終查stackoverflow給出了解決辦法:

 

1、在xml中要這樣定義:

 


    @drawable/pencil1
    @drawable/pencil2
    @drawable/pencil3
    @drawable/pencil4
    @drawable/pencil5
    @drawable/pencil6


2、在java代碼中這樣來獲取:

 

 

TypedArray ar = context.getResources().obtainTypedArray(R.array.actions_images);
int len = ar.length();     
int[] resIds = new int[len];     
for (int i = 0; i < len; i++)     
    resIds[i] = ar.getResourceId(i, 0);

ar.recycle();  

 

圖片的id就保存在resIds中去了,然後我們就可以引用它(比如用img.setImageResourse(resIds[0]))來設置圖片了。

 

同理,要想在xml中定義id數組,做法一樣。

 

 

參考:http://stackoverflow.com/questions/6945678/android-storing-r-drawable-ids-in-xml-array


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved