Android CheckBox增量错误

Beg*_*Dev 0 java checkbox android

您好抱歉这个简单的问题,但我一定是做错了,

我有12个复选框如果选中一个复选框,则int total需要增加一个固定值(取决于框)并显示在textView中

当我选中一个方框时,它没有显示它所假定的值 - refurbCost在构造函数中初始化为0,并且在没有选中框时显示为0

当我选择新的厨房显示为21300而不是3000

我做错了什么 - ps我知道代码可能不是很好的练习我仍然是android开发的新手

public void onClick(View v) {
    boolean checked = ((CheckBox) v).isChecked() ;
    switch (v.getId()){
        case R.id.centralHeating:
            if(checked) {

               refurbCost += 2750;

            }
        case R.id.newKitchen:
            if(checked) {
                refurbCost += 3000;

            }
        case R.id.newBathroom:
            if(checked) {
                refurbCost += 1000 ;

            }
        case R.id.reWire:
            if(checked) {
                refurbCost += 2500;

            }
        case R.id.windowDoors :
            if(checked) {
                refurbCost += 3000;

            }
        case R.id.stairsBanisters:
            if(checked) {
                refurbCost += 2000;

            }
        case R.id.carpets:
            if(checked) {
                refurbCost += 2000;

            }
        case R.id.garden:
            if(checked) {
                refurbCost += 1000;

            }
        case R.id.wallCeiling:
            if(checked) {
                refurbCost += 1000;

            }
        case R.id.decoration:
            if(checked) {
                refurbCost += 1200;

            }
        case R.id.alarmSys:
            if(checked) {
                refurbCost += 600;

            }
        case R.id.fireSafety:
            if(checked) {
                refurbCost += 4000;

            }
            refurbTotal.setText(""+refurbCost);
    }
Run Code Online (Sandbox Code Playgroud)

Mur*_*göz 5

你必须break在每个案例陈述之后

例如

case blabla: doSmth(); break;
Run Code Online (Sandbox Code Playgroud)

  • ...否则流量会落到你所有的情况下(有时你想要的是这种情况,但大部分情况都不是这样). (2认同)