2016-11-30 114 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