更改多个图像按钮的属性

时间:2015-01-22 06:09:10

标签: android loops

我的活动有9个图像按钮,我想更改多个图像按钮的某些属性,例如在某种情况下禁用所有图像按钮&然后启用它们。我想可能是我可以使用像这样的循环......

// int [] ids = { R.id.imgBtn1, R.id.imgBtn2......, R.id.imgBtn9 };
// for (int i=0; i<=ids.length; i++){
// ids[i].setEnabled(true);
// }

谢谢大家

2 个答案:

答案 0 :(得分:1)

定义一个列表如下:

List<ImageView> images = new ArrayList<>();

ImageView iv1 = (ImageView)findViewById(R.id.image1);
ImageView iv2 = (ImageView)findViewById(R.id.image2);
ImageView iv3 = (ImageView)findViewById(R.id.image3);
ImageView iv4 = (ImageView)findViewById(R.id.image4);
ImageView iv5 = (ImageView)findViewById(R.id.image5);
ImageView iv6 = (ImageView)findViewById(R.id.image6);
ImageView iv7 = (ImageView)findViewById(R.id.image7);
//.....

并将所有内容放在一个列表中,

images.add(iv1);
images.add(iv2);
// add other view

然后使用此列表并执行您想要的操作:

for (ImageView iv : images)
{
  // your code
}

答案 1 :(得分:0)

// Add views from array of ids
ArrayList<View> views = new ArrayList<>();
int [] ids = { R.id.imgBtn1, R.id.imgBtn2, R.id.imgBtn9 };
for (int i=0; i<ids.length; ++i){
    views.add(findViewById(ids[i]));
}

// Loop each view and enable it
for (View view : views) {
    view.setEnabled(true);
}