2010-11-17 34 views
10

我想要使用圖像數組,然後將我的ImageView設置爲數組中的圖像之一。 我的第一本能是使用帶有圖像名稱的字符串數組,但這不起作用。android中的圖像數組

如何做到這一點。使用圖像名稱繪製一個可繪製的數組而不用引​​號或什麼?

回答

13

取決於您的圖像

但如果R.drawables那裏。那麼爲什麼不是int引用簡單地存儲陣列中,然後加載

,如果你想對他們做治療,你也可以打開位圖和存儲

編輯:

private int[] textureArrayWin = { 
R.drawable.star_00, 
R.drawable.star_01, 
R.drawable.star_02, 
}; 

和現在你有一個你想要的圖像的ID表

+0

嗨,他們在繪製-MDPI folder.Not確保您通過存儲在我的數組中的int引用,然後加載that.Really知道到Android的意思。 – James 2010-11-17 06:14:25

+0

如果你願意,我會添加一些代碼 – 2010-11-17 06:21:22

+0

這不是問題 – philippe 2014-06-05 19:49:54

3

是的,你可以創建一個可繪製的數組。

作爲替代方案,您還可以創建映射到資源ID的整數的數組。因此,將您的圖像放在可繪製的文件夾中,爲它們提供資源ID。

R.drawable.yourimage1 
R.drawable.yourimage2 
... 
R.drawable.yourimagen 

然後,當您想要加載圖像並繪製到您的圖像視圖,你可以從你的活動做這樣的事情。假設「yourarray」是數組:

Drawable d = getResources().getDrawable(yourarray[n]); 

然後我相信在ImageView上的調用是setImageDrawable。所以:

yourImageView.setImageDrawable(d); 
+0

請使用rreeverb描述的替代解決方案。您不必'獲取'drawable,只需在視圖上設置圖像資源ID即可! http://developer.android.com/reference/android/widget/ImageView.html#setImageResource(int) – 2010-11-17 06:21:43

0

您可以使用從繪製,MDPI的資源並將其存儲在整數像

private static final Integer[] Icons = { 
    R.drawable.bg_android_icon, 
    R.drawable.bg_sunrise_icon, 
    R.drawable.bg_sunset_icon, 
    ...... 
}; 

數組,然後你可以在一個循環中與當前位置從0到圖標使用。長度並將其設置爲ImageView

ImageView.setBackground=getResources().getDrawable(Icons[Position]);