java—通过循环更改变量

rjee0c15  于 2021-08-25  发布在  Java
关注(0)|答案(1)|浏览(444)

假设我有150张照片。我需要改变他们的能见度,甚至资源与循环不这样做,为每一张照片通过键入。
我试着这样循环:

final ImageView randompic1 = (ImageView) findViewById(R.id.pic1);
final ImageView randompic2 = (ImageView) findViewById(R.id.pic2);
final ImageView randompic3 = (ImageView) findViewById(R.id.pic3);
final ImageView randompic4 = (ImageView) findViewById(R.id.pic4);
//(etc.)

    for (int j = 0; j <=150; j++){
            randompic(j).setVisibility(View.INVISIBLE);
                             };

所以我想在循环中将其更改为:randompic(j).setvisibility(view.invisible),用于每个循环中的randompic1、randompic2、randompic3等。java不接受像javascript这样的类型。我不知道如何找到编写这种循环的好方法。

7dl7o3gd

7dl7o3gd1#

将ImageView添加到列表中,并更改此列表中每个项目的可见性,如下所示:

List<ImageView> randompics = new ArrayList<>();
randompics.add((ImageView) findViewById(R.id.pic1));
randompics.add((ImageView) findViewById(R.id.pic2));
randompics.add((ImageView) findViewById(R.id.pic3));
randompics.add((ImageView) findViewById(R.id.pic4));
//(etc.)

for (int j = 0; j <= randompics.size(); j++) {
    randompics.get(j).setVisibility(View.INVISIBLE);
};

而不是经典 for -循环也可以使用 foreach 这样地:

randompics.foreach(pic -> pic.setVisibility(View.INVISIBLE));

相关问题