可以用“i”变量做findViewById吗?

时间:2015-04-08 18:30:31

标签: android android-imageview

我有9个ImageView具有相同的ID,但只更改了数字(image1,image2等等)。

我想在这个系统中初始化:

mImageView = new ImageView[9];

for(int i=0; i<mImageView.length; i++)
    mImageView[i] = (ImageView) findViewById(R.id.image+i);

显然这是不可能的。但有没有一个系统可以做到这一点?

1 个答案:

答案 0 :(得分:7)

是的,使用getIdentifier()中的getResources()方法。

像,

for(int i=0; i<mImageView.length; i++)
{
    int resID = getResources().getIdentifier("image"+i, 
            "id", getPackageName());
     mImageView[i] = (ImageView) findViewById(resID);
}