"findViewById" 使用 for 循环
"findViewById" with for loop
这是我的代码:
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);}
我该怎么做?
你不能在循环中这样做。
基本上 R.id.img 是一个整数并且
如果你做 R.id.img + i,它会产生一些随机整数。
这样做。您可以从存储在 xml 或代码中的数组中获取可绘制名称。
for (int i=1; i<=9; i++) {
int id = getResources().getIdentifier("drawableName", "drawable", context.getPackageName());
ImageView img = (ImageView) findViewById(id);
}
此处 "drawableName" 是您的图片名称,"drawable" 保持原样。
这是我的代码:
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);}
我该怎么做?
你不能在循环中这样做。 基本上 R.id.img 是一个整数并且 如果你做 R.id.img + i,它会产生一些随机整数。
这样做。您可以从存储在 xml 或代码中的数组中获取可绘制名称。
for (int i=1; i<=9; i++) {
int id = getResources().getIdentifier("drawableName", "drawable", context.getPackageName());
ImageView img = (ImageView) findViewById(id);
}
此处 "drawableName" 是您的图片名称,"drawable" 保持原样。