在单击android按钮时,将标志更改为0和1

在单击android按钮时,将标志更改为0和1,android,button,Android,Button,当我第一次点击一个按钮时,它的背景图像会改变。然后,当我再次点击按钮时,它应该会得到它的第一个背景。我已全局设置了一个标志,然后单击按钮“增量标志计数器”。但是,当我第一次点击时,什么也没有发生,但在第二次点击时,按钮会拍摄新的图像 期望的: 第一次单击:标志变为0:按钮采用默认背景。 第二次点击:标志变为1:按钮获取新背景。并且标志被重置为0 它应该是第一次点击0到第二次点击第二次点击1=>0,第三次点击=>0重置 这是我的密码: flag++; switch (flag) { ca

当我第一次点击一个按钮时,它的背景图像会改变。然后,当我再次点击按钮时,它应该会得到它的第一个背景。我已全局设置了一个标志,然后单击按钮“增量标志计数器”。但是,当我第一次点击时,什么也没有发生,但在第二次点击时,按钮会拍摄新的图像

期望的:

第一次单击:标志变为0:按钮采用默认背景。 第二次点击:标志变为1:按钮获取新背景。并且标志被重置为0

它应该是第一次点击0到第二次点击第二次点击1=>0,第三次点击=>0重置

这是我的密码:

flag++;

switch (flag) {
    case 0:
        cbhead.setBackgroundResource(R.drawable.cbxbox);
        checkValue1 = TAGN;
        System.out.println("flag off : " + checkValue1);
        break;
    case 1:
        cbhead.setBackgroundResource(R.drawable.cbxboxchecked);
        checkValue1 = TAGN;
        System.out.println("flag on: " + checkValue1);
        flag = 0;
        break;
}

这是因为您在switch语句之前增加了标志。因此,如果它开始为0,当您按下按钮时,它会在进入switch语句之前递增。

只需在案例0中添加increment标志:

flag=0;
switch (flag) {
    case 0:
        cbhead.setBackgroundResource(R.drawable.cbxbox);
        checkValue1 = TAGN;
        System.out.println("flag off : " + checkValue1);
    flag++;
        break;
    case 1:
        cbhead.setBackgroundResource(R.drawable.cbxboxchecked);
        checkValue1 = TAGN;
        System.out.println("flag on: " + checkValue1);
        flag = 0;
        break;
}

在您的案例0中,您没有将您的标志设置为1您的标志的默认值是多少?