不知道为什么在我的代码中会发生这种情况,据我所知应该没问题,尽管我整天都在这样做。
我的问题是我的计数在选中复选框时增加或在未选中时减少,最多允许 4 个选项,并发出警告说您不能选择第 5 个。
选择 1-3 工作正常 - 我将变量输出到 log cat 并且它上下运行良好但是一旦我按下第四个选项并按下第 5 个它允许它在我说过的地方premCount<=4
。
警报在第 6 次按下时显示,但允许用户关闭然后再次选择它,并且在不应该时继续。
这是我的代码:
public void handlePremCheckboxClick(View v){
CheckBox tmpChkBox = (CheckBox) findViewById(v.getId());
if (premCounter<=4){ <---this part is allowing 5, 6, 7, etc presses through
if(tmpChkBox.isChecked())
{
tmpChkBox.setBackgroundColor(Color.parseColor("#ff33b5e5"));
premCounter++;
}
if(tmpChkBox.isChecked()== false)
{
tmpChkBox.setBackgroundColor(Color.TRANSPARENT);
premCounter--;
}
}else if(premCounter >4) {
tmpChkBox.setChecked(false);
tmpChkBox.setBackgroundColor(Color.TRANSPARENT);
premCounter--;
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle("Max Teams Reached")
.setMessage("You have selected the max of 4 Premiership teams")
.setPositiveButton("OK", null)
.show();
}
System.out.println(premCounter);
}
日志猫:
10-18 17:10:58.859: D/OpenGLRenderer(25923): Enabling debug mode 0
10-18 17:11:06.146: D/dalvikvm(25923): GC_FOR_ALLOC freed 125K, 2% free 9286K/9448K, paused 17ms, total 17ms
10-18 17:11:06.377: W/IInputConnectionWrapper(25923): finishComposingText on inactive InputConnection
10-18 17:11:07.258: I/System.out(25923): 1
10-18 17:11:07.488: I/System.out(25923): 2
10-18 17:11:07.748: I/System.out(25923): 3
10-18 17:11:08.039: I/System.out(25923): 2
10-18 17:11:08.689: I/System.out(25923): 3
10-18 17:11:08.939: I/System.out(25923): 4
10-18 17:11:09.240: I/System.out(25923): 5
10-18 17:11:09.550: I/System.out(25923): 4
10-18 17:11:10.461: I/System.out(25923): 5
10-18 17:11:10.801: I/System.out(25923): 4
10-18 17:11:11.843: I/System.out(25923): 5
10-18 17:11:12.483: I/System.out(25923): 4
10-18 17:11:13.444: I/System.out(25923): 5
10-18 17:11:13.695: I/System.out(25923): 4
10-18 17:11:14.706: I/System.out(25923): 5
10-18 17:11:15.086: I/System.out(25923): 4
10-18 17:11:16.217: I/System.out(25923): 5