0

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

想要的:

第一次单击:标志变为 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;
}
4

2 回答 2

2

只需在案例 0 内增加标志:

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;
}
于 2013-06-20T14:20:38.823 回答
0

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

于 2013-06-20T14:18:15.540 回答