在两个来源之间切换我的imageView

时间:2017-11-24 07:39:11

标签: android

当我点击一个按钮时,它将我的ImageView从pic1更改为pic2,我使用此...

    ImageView myImageView = (ImageView) findViewById(R.id.myImageView );
    myImageView.setImageResource(R.drawable.pic2);

然后它将我的ImageView更改为pic2现在我希望能够再次单击该按钮并使用...将其更改回图片1。

    myImageView.setImageResource(R.drawable.pic1);

但是我需要一些方法来创建一个getImageResource,这样我就可以运行一个if语句来显示pic,并在单击按钮时显示另一个。例如,如果pic 2显示它将检查显示哪张图片并返回pic2,以便它知道何时点击该按钮将其切换为pic1

3 个答案:

答案 0 :(得分:2)

设置标志以识别设置的图像。

默认选择pic1,添加标志

boolean flag = true;

然后在imageview上单击侦听器检查标志,如果设置了标志,则将picview设置为pic2,而不是pic2。

imageView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {
                    if(flag) {
                        imageView.setImageResource(R.drawable.pic2);
                    } else {
                        imageView.setImageResource(R.drawable.pic1);
                    }
                    flag = !flag;
                }
            });

答案 1 :(得分:0)

尝试以下代码,看看它是否适合您:

在onCreate之前写下:private boolean imageIs = false;

在onCreate中写下:

btnImageChange.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                if (!imageIs) {
                    imageV.setImageResource(R.mipmap.ic_launcher);
                    imageIs = true;
                } else {
                    imageV.setImageResource(R.mipmap.ic_launcher_round);
                    imageIs = false;
                }
            }
        });

答案 2 :(得分:0)

您可以添加一个变量,当您单击

按钮时,该变量将具有值

int x= R.drawable.pic2;

当您点击按钮将图片更改为图片2时,您的代码就像

 ImageView myImageView = (ImageView) findViewById(R.id.myImageView );
 myImageView.setImageResource(R.drawable.pic2);
  x=R.drawable.pic2;

如果您想通过单击按钮再次添加pic1,可以使用if

循环
 ImageView myImageView = (ImageView) findViewById(R.id.myImageView );
 if(x=R.drawable.pic2){
  myImageView.setImageResource(R.drawable.pic1);
 }
 else if(x=R.drawable.pic1){

 myImageView.setImageResource(R.drawable.pic2);
 x=R.drawable.pic2;
 }
else{
 myImageView.setImageResource(R.drawable.pic1);
 }