2015-08-28 77 views
0

對不起,標題不好,但。我想要達到的是這個。使用變量獲取資源字段

private void updateImage(int number) { 
    imageView.setImageResource(R.drawable.img0); 
} 

..where在IMG0 0實際上是參數

JavaScript的方法是R.drawable['img' + number]

回答

0

沒有道理的方法可以是簡單的使用整數數組。把所有的resourceId放在一個數組中,只需通過索引來調用數組元素。

int[] resIds = new int[] { 
     R.drawable.img0, 
     R.drawable.img1, 
     R.drawable.img2, 
     R.drawable.img3 
} 

private void updateImage(int number) { 
     imageView.setImageResource(resIds[number]); 
} 
0

嘗試思考

for(Field field : R.drawable.getClass().getFields()) { 
    if(field.getName().equals("img" + number)) { 
      imageView.setImageResource(field.get(R.drawable)); 
    } 
} 
+0

'非靜態方法的getClass()不能從一個靜態context'引用 – joakim