2016-11-30 110 views
0

如何檢索Android中imageViews數組的resource_id?我知道如何讓我的繪製資源獲取資源ID Imageview(ImageViews數組)

int resId = context.getResources().getIdentifier("[imagename]" + indexNumber, "drawable", context.getPackageName()); 

但現在我要檢索的ID爲駐留在佈局文件夾中的ImageView(activity_main.xml中)

的原因是,我有除了indexnumer以外,有10個不同的圖像瀏覽類似的名字。

我完整的代碼

ImageView[] imageView = new ImageView[10]; 
    AnimationDrawable[] frameAnimation = new AnimationDrawable[10]; 
    for (int i = 0; i < 10; i++) { 

     int id = ??? 
     imageView[i] = (ImageView) findViewById(id); 
     imageView[i].setBackgroundResource(R.drawable.gold_coin_animation); 

     // Get the background, which has been compiled to an AnimationDrawable object. 
     frameAnimation[i] = (AnimationDrawable) imageView[i].getBackground(); 

     frameAnimation[i].start(); 
    } 

的imagevies的名稱是

gold_coin_id1 
gold_coin_id2 
gold_coin_id3 
... 
gold_coin_id110 

所以我想通過與indexnumber級聯前綴(gold_coin)來檢索視圖的資源ID

+0

您可以將id設置爲imageview lik imageViewArray [i] .setId(i); – Vadivel

+0

ImageView [] imageViewArray = new ImageView [10];對於(int i = 0; i <10; i ++){ imageViewArray [i] = new ImageView(this); imageViewArray [i] .setId(i); } – Vadivel

+0

你可以創建int [] resArray = new int [] {R.drawable.gold_coin_id1,R.drawable.gold_coin_id2,R.drawable.gold_coin_id3,R.drawable.gold_coin_id4}並使用此resArray設置背景 –

回答

1

這應該工作

int id = getResources().getIdentifier("gold_coin_id"+i, "id", getPackageName()); 
imageView[i] = (ImageView) findViewById(id); 
+0

愚蠢的我 - 我應該學會在將來更多地研究簽名。謝謝 :-) – java