使用for循环更改许多imageView源

时间:2013-06-26 17:18:48

标签: android for-loop imageview

我的布局中有100张imageview:

    iv1 = (ImageView) findViewById(R.id.ImageView1);
    iv2 = (ImageView) findViewById(R.id.ImageView2);
    iv3 = (ImageView) findViewById(R.id.ImageView3);
    ...
    ...
    iv98 = (ImageView) findViewById(R.id.ImageView98);
    iv99 = (ImageView) findViewById(R.id.ImageView99);
    iv100 = (ImageView) findViewById(R.id.ImageView100);

现在,在我的程序中,我想要不时地更改所有图像源,所以现在我怎么做这个我想要这样的东西

for (int F=1; F<101; i++) {
    int resID = getResources().getIdentifier("a"+F, "drawable", getPackageName());
    ivF.setImageResource(resID); 
}

那么,有什么建议吗?

感谢。

2 个答案:

答案 0 :(得分:0)

为什么不动态创建它,将id设置为它们并根据需要使用这些ID来获取图像引用。

答案 1 :(得分:0)

我自己找到了解决方案,我应该如何声明ImageView

ImageView iv1,iv2,iv3,iv4,iv5,iv6;
ImageView[] image = {iv1,iv2,iv3,iv4,iv5,iv6}

然后当我需要设置图像时:

for (int F=1; F<7; F++) {

int resID = getResources().getIdentifier("a"+F, "drawable", getPackageName());
image[F].setImageResource(resID); 

}