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));
}
}
});
这样你就可以拥有正确的功能。
在我的应用程序中,我使用复选框来计算总和值。如果“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));
}
}
});
这样你就可以拥有正确的功能。