单击图像后,将一个图像替换为另一个图像,如果再次单击,则将前一个图像带回。
我已经为我的RecycleView
编写了此代码,但无法正常工作。
这是我的代码:
private int i = 0;
viewHolder.imageHeart.setOnClickListener(new View.OnClickListener () {
@Override
public void onClick(View v) {
i++;
if (i / 2 == 0) {
viewHolder.imageHeart.setImageResource(R.drawable.heart_red);
}
if (i / 2 == 1) {
viewHolder.imageHeart.setImageResource(R.drawable.heart);
}
Toast.makeText(context, String.valueOf(i), Toast.LENGTH_SHORT).show();
}
});
答案 0 :(得分:1)
尝试其他
private int i = 0;
viewHolder.imageHeart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
i++;
if (i/2 == 0){
v.setImageResource(R.drawable.heart_red);
} else {
v.setImageResource(R.drawable.heart);
}
Toast.makeText(context, String.valueOf(i), Toast.LENGTH_SHORT).show();
}
});
答案 1 :(得分:1)
使用简单的boolean
来尝试这种情况:
private boolean clicked = false;
viewHolder.imageHeart.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (clicked){
viewHolder.imageHeart.setImageResource(R.drawable.heart_red);
clicked = false;
} else {
viewHolder.imageHeart.setImageResource(R.drawable.heart);
clicked = true;
}
}
});