Android 如何防止重选复选框添加更多值
我已经用一个问题创建了一个调查布局,然后你可以选择低于平均值、平均值或高于平均值。分数位于页面底部,点击监听器更新 我有一个问题,客户改变了他们的答案,但它没有删除以前的价值 下面是1,平均值是2,上面是3。如果你点击上面,它会增加3,然后你改变主意,想要选择平均值,你点击它,它会增加2,但永远不会删除,然后是3 帮助Android 如何防止重选复选框添加更多值,android,checkbox,survey,Android,Checkbox,Survey,我已经用一个问题创建了一个调查布局,然后你可以选择低于平均值、平均值或高于平均值。分数位于页面底部,点击监听器更新 我有一个问题,客户改变了他们的答案,但它没有删除以前的价值 下面是1,平均值是2,上面是3。如果你点击上面,它会增加3,然后你改变主意,想要选择平均值,你点击它,它会增加2,但永远不会删除,然后是3 帮助 我需要做什么改变或做什么才能让它工作?所有其他尝试都失败。当您选中avg32时,您可以在内部添加if-else,以检查2个复选框是否选中了…可能的重复项 below32
我需要做什么改变或做什么才能让它工作?所有其他尝试都失败。当您选中
avg32
时,您可以在内部添加if-else
,以检查2个复选框是否选中了…可能的重复项
below32 = (CheckBox) findViewById(R.id.below32);
below32.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (below32.isChecked()) {
sum += 1; double total = 100*sum/69;
result.setText(String.format("%.1f", total) + "%");
avg32.setChecked(false);
above32.setChecked(false);
}
else {
sum -= 1; double total = 100*sum/69;
result.setText(String.format("%.1f", total) + "%");
}
}
});
avg32 = (CheckBox) findViewById(R.id.avg32);
avg32.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (avg32.isChecked()) {
sum += 2; double total = 100*sum/69;
result.setText(String.format("%.1f", total) + "%");
below32.setChecked(false);
above32.setChecked(false);
}
else {
sum -= 2; double total = 100*sum/69;
result.setText(String.format("%.1f", total) + "%");
}
}
});
above32 = (CheckBox) findViewById(R.id.above32);
above32.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (above32.isChecked()) {
sum += 3; double total = 100*sum/69;
result.setText(String.format("%.1f", total) + "%");
below32.setChecked(false);
avg32.setChecked(false);
}
else {
sum -= 3; double total = 100*sum/69;
result.setText(String.format("%.1f", total) + "%");
}
}
});