在每个单击的图像上添加值

时间:2013-12-07 09:23:30

标签: android imageview

我有这个代码,当我点击其中一个图像时,它会将值设置为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;
    }

}

1 个答案:

答案 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;
    }

   }

那应该为你处理图像数量,添加你拥有的其他逻辑!希望这对你有帮助。