以编程方式添加视图,并在添加按钮后单击更改视图背景

Add View programmatically and after adding on button click change view background

在 LinearLayout 中动态添加视图,添加视图后更改点击按钮上的任何视图背景。

LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(width, height);
ImageView img1 = new ImageView(this);
img1.setLayoutParams(layoutParams);
img1.setImageBitmap(icon);
llLayout.addView(img1);

ImageView img2 = new ImageView(this);
img2.setLayoutParams(layoutParams);
img2.setImageBitmap(icon);
llLayout.addView(img2);

ImageView img3 = new ImageView(this);
img3.setLayoutParams(layoutParams);
img3.setImageBitmap(icon);
llLayout.addView(img3);   

在按钮上,单击更改所有 ImageView 背景或特定 ImageView。

注意:llLayout是我的线性布局这个布局加入XML

当你将 imageView 添加到线性布局时,此时你 setImageBitmap 到 imageView。

if you want to reset Image to Imageview, you should use img1.setImageResource

    btn.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                   //use anyone as your requirement
                    img1.setBackgroundResource(); // for set background resource from drawable folder(for src)
                    img1.setBackground();// for set background(Drawable)(for background)
                    img1.setBackgroundColor(); //for set background color(for background)
                    
                }
            });

我不确定我是否正确理解了这个问题,但是如果你的意思是通过按钮上的 onClick 事件更改特定图像背景..如果你有图像参考更改它..但是如果你的意思是你正在添加像在 for 循环中一样动态地查看图像,并且您没有参考,您可以创建 Arraylist 并将添加的图像添加到其中,然后在此 arraylist 上循环以更改所有图像背景或过滤您要更改的特定图像