[英]Accessing Android drawable resource with a string
如果這看起來真的很簡單,我深表歉意,但我無法弄清楚。 我有一個ImageButton,我想在運行時基於按鈕單擊來更改其圖像。 我的res文件夾中有5張圖像。 當用戶單擊“下一步”按鈕時,我希望它轉到下一張圖像。 圖像的文件名是image1.png,image2.png等。
我知道我可以通過以下方式更改圖像:
imgButton.setImageResource(R.drawable.image2);
我有一個計數器(int)來跟蹤顯示的圖像編號。 但是如何將圖像更改為下一個圖像? 任何幫助,將不勝感激。
創建一個整數數組來保存對圖像的引用,例如
int[] images = new int[5];
images[0] = R.drawable.image001;
images[1] = R.drawable.image002;
images[2] = R.drawable.image003;
images[3] = R.drawable.image004;
images[4] = R.drawable.image005;
然后在每次點擊時增加計數器,並使用數組中的值設置圖像資源:
imgButton.setImageResource(images[counter]);
當您知道如何時就很容易...;)
您可以使用反射來基於字符串文件名獲取圖像的ID。
Field f = R.getClass().getField("image2");
int id = f.getInt(null); // use null for static fields
imgButton.setImageResource(id);
編輯:或者正如提到的另一個問題 ,您可以使用getIdentifier()
向資源詢問ID。 這比通過靜態const慢,但可能對您有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.