2014-03-19 91 views
1

我需要許多類似的可繪製資源。 我創建必需的文件,我在繪製文件夾 然後資源與陣列的文件:獲取ID可繪製資源數組

<array name="btn_style"> 
    <item>@drawable/tile0</item> 
    <item>@drawable/tile1</item> 
    ... 
</array> 

但是,當我寫

int[] btn_draw = getResources().getIntArray(R.array.btn_style); 

我收到從零的陣列。

如果我做

int[] btn_draw = {R.drawable.tile0,R.drawable.tile1}; 

一切工作正常。

+2

我din't讓你問你能解釋一下你想要 –

+1

'我收到陣列從zero.'什麼什麼 - 是的,正確,數組從索引0開始。 –

+0

我想接收ID資源數組,而不是數組零。 我找到了解決方法,但我想明白爲什麼會這樣。 – Arty

回答

3

如果我明白你的問題..這裏是你的答案:

試試這個: 您可以使用類型數組..

<?xml version="1.0" encoding="utf-8"?> 
    <resources> 

     <string-array name="random_imgs"> 
      <item>@drawable/car_01</item> 
      <item>@drawable/balloon_random_02</item> 
      <item>@drawable/dog_03</item> 
     </string-array> 

    </resources> 

然後在你的活動訪問他們像這樣:

TypedArray imgs = getResources().obtainTypedArray(R.array.random_imgs); 
//get resourceid by index 
imgs.getResourceId(i, -1) 
// or set you ImageView's resource to the id 
mImgView1.setImageResource(imgs.getResourceId(i, -1)); 
+0

是的,這是工作。謝謝。 – Arty