可以用"i"变量做findViewById吗?

pip*_*o15 0 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);
Run Code Online (Sandbox Code Playgroud)

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

use*_*305 7

是的,请使用getIdentifier()方法getResources().

喜欢,

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