这是我的代码:
ImageView img1 = (ImageView) findViewById(R.id.img1);
ImageView img2 = (ImageView) findViewById(R.id.img2);
ImageView img3 = (ImageView) findViewById(R.id.img3);
ImageView img4 = (ImageView) findViewById(R.id.img4);
ImageView img5 = (ImageView) findViewById(R.id.img5);
ImageView img6 = (ImageView) findViewById(R.id.img6);
ImageView img7 = (ImageView) findViewById(R.id.img7);
ImageView img8 = (ImageView) findViewById(R.id.img8);
ImageView img9 = (ImageView) findViewById(R.id.img9);
我想创建这样的东西:
for (int i=1; i<=9; i++) {
ImageView img+i = (ImageView) findViewById(R.id.img+i);}
我该怎么做?
答案 0 :(得分:1)
这样做。您可以从存储在xml或代码中的数组中获取可绘制的名称。
for (int i=1; i<=9; i++) {
int id = getResources().getIdentifier("drawableName", "drawable", context.getPackageName());
ImageView img = (ImageView) findViewById(id);
}
此处“drawableName”是您图片的名称,并保持“可绘制”原样。
答案 1 :(得分:0)
你不能在循环中这样做。 基本上R.id.img是一个整数和 如果你做R.id.img + i,它将产生一些随机整数。