android studio 中复选框的总值与 java?

Sum value with checkboxes in android studio with java?

在我的应用程序中,我使用复选框来计算总和值。如果“checkbox1.isChecked”我将值添加到所有数据值的总和。当 (!checkBox1.isChecked) 我不想添加。 1.) 如果我执行 checkBox1 和 chceckBox2,我的 Sum = 300,但如果我取消选中 checkbox1,它会显示 0.0。(屏幕截图 1 和 2)

2.)如果我首先检查了 checkBox1 而不是我添加了 checkedBox2,它会显示 checkBox2 的值。(屏幕截图 3 和 4)

这是我的代码?应该更改什么才能使其正常工作(如果选中则添加,如果不选中则不添加)


float averageOfMondays = 200;
float averageOfTuesdays = 100;
float daysSum = 0;

  checkBox1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(checkBox1.isChecked()){
                    monday = true;
                    daysSum+=averageOfMondays;
                    averageCounter++;
                }else  {
                    monday = false;

                    if(averageCounter<=0){ averageCounter = 0; }else{averageCounter--;}
                }
            }
        });

        checkBox2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if(checkBox2.isChecked()){
                    tuesday = true;
                    daysSum+=averageOfTuesdays;
                    averageCounter++;
                }else {
                    tuesday = false;
                    if(averageCounter<=0){ averageCounter = 0; }else{averageCounter--;}
                }
            }
        });
 
btnCheck.setOnClickListener(new View.OnClickListener() {            //button CHECK 
            @Override
            public void onClick(View v) {

                if(averageCounter == 0){
                    tvAverage.setText("Please choose at least 1 day");

                } else{
                    tvAverage.setText(String.valueOf(daysSum));
                    daysSum=0;
                }
            }
        });
float averageOfMondays = 200;
float averageOfTuesdays = 100;
float daysSum = 0;

checkBox1.setOnClickListener(new View.OnClickListener() {@Override
    public void onClick(View v) {
        if (checkBox1.isChecked()) {
            monday = true;
            daysSum += averageOfMondays;
            averageCounter++;
        } else {
            monday = false;
            averageCounter--;
            daySum -= averageOfMondays;
        }
    }
 });

checkBox2.setOnClickListener(new View.OnClickListener() {@Override
    public void onClick(View v) {
        if (checkBox2.isChecked()) {
            tuesday = true;
            daysSum += averageOfTuesdays;
            averageCounter++;
        } else {
            tuesday = false;
            averageCounter--;
            daySum -= averageOfTuesdays;
        }
    }
 });

btnCheck.setOnClickListener(new View.OnClickListener() { //button CHECK 
    @Override
    public void onClick(View v) {

        if (averageCounter == 0) {
            tvAverage.setText("Please choose at least 1 day");
        } else {
            tvAverage.setText(String.valueOf(daysSum));
        }
   }
});

这样你就可以拥有正确的功能。