2011-06-14 72 views
3

我有110個圖像,所有標記爲1,2,3等,我希望能夠設置它,以便我可以生成一個隨機數,然後顯示該圖像屏幕上。顯示部分很好,但我不確定數組。Android - 使用圖像資源數組

到目前爲止,我所看到的都是需要手動設置的數組 - 在XML中輸入每個名稱。對於10或15張圖片,這並不壞。對於110或數千人(未來希望),效率非常低。有沒有辦法根據標題顯示圖像,而不是資源ID?理想情況下,我希望能夠標記我的圖片「ENG_1」和「SPA_1」以顯示不同語言的不同圖片,因此可以基於String而不是int來進行搜索(if這是一個字)和易於訪問。

那麼,我該如何開始呢?

回答

3

是的,有一種方法Resources.getIdentifier(String name, String defType, String defPackage)。您可以通過以下方式使用:

Resources resources = getResources(); 
int id = resources.getIdentifier("ENG_1", "drawable", getPackageName()); 
Drawable drawable = resources.getDrawable(id); 
+0

我們應該使用這種方法嗎?我看到很多人說它會讓應用程序變慢。 – anticafe 2011-06-14 06:30:05

+0

如果你能避免它,你不應該這樣做。但如果你沒有選擇,那麼它似乎是唯一的解決方案 – Michael 2011-06-14 12:22:07