当我点击一个按钮时,它将我的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
答案 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);
}