我有这个代码,当我点击其中一个图像时,它会将值设置为1.然后,如果我再次点击同一图像,它会将值减小为0.此外,当我点击两个图像时,该值将代表每个图像。
我曾尝试过发布一次这个问题,但答案仍然不像我想要的那样。我也尝试将变量x和z作为全局变量,但它不起作用。你能帮帮我吗?谢谢
public void onClick(View v)
{
switch(v.getId()){
case R.id.oneImgView:
images[0].setVisibility(View.GONE);
images[1].setVisibility(View.VISIBLE);
if(images[0].getVisibility() == View.GONE)
{
setValue(1);
}
display();
break;
case R.id.twoImgView:
images[1].setVisibility(View.GONE);
images[0].setVisibility(View.VISIBLE);
if(images[1].getVisibility() == View.GONE)
{
setValue(-1);
}
display();
break;
case R.id.threeImgView:
images[2].setVisibility(View.GONE);
if(images[2].getVisibility() == View.GONE)
{
setValue(1);
}
images[3].setVisibility(View.VISIBLE);
display();
break;
case R.id.fourImgView:
images[3].setVisibility(View.GONE);
if(images[3].getVisibility() == View.GONE)
{
setValue(-1);
}
images[2].setVisibility(View.VISIBLE);
display();
break;
}
}
public void display()
{
z =+ getValue();
//if(z==1){
//display.setImageResource(R.drawable.one);}
tView.setText(""+z);//}
}
public int getValue() {
int x=+value;
return x;
}
public void setValue(int value) {
this.value = value;
}
}
答案 0 :(得分:0)
使用4个布尔变量应该很简单。我已经在开始时将所有4个变量设置为true,然后根据它们是第一次点击还是第二次添加或减去该值。
boolean img1=false;
boolean img2=false;
boolean img3=false;
boolean img4=false;
public void onClick(View v)
{
switch(v.getId()){
case R.id.oneImgView:
if(img1){
z =z+1;
img1 = false;
}else{
z = z-1;
img1 = true;
}
case R.id.twoImgView :
if(img2){
z =z+1;
img2 = false;
}else{
z = z-1;
img2 = true;
}
case R.id.threeImgView:
if(img3){
z =z+1;
img3 = false;
}else{
z = z-1;
img3 = true;
}
case R.id.fourImgView :
if(img4){
z =z+1;
img4 = false;
}else{
z = z-1;
img4 = true;
}
}
那应该为你处理图像数量,添加你拥有的其他逻辑!希望这对你有帮助。