如何防止重新选中的复选框添加更多值

时间:2017-04-06 01:04:04

标签: android checkbox survey

我创建了一个带问题的调查布局,然后您可以选择以下平均值,平均值或平均值。得分位于页面底部,并通过监听器点击更新。

我遇到客户更改答案的问题,而不是删除过去的值。

所以下面是1,avg是2,上面是3.如果你点击上面它会增加3,然后你改变主意,想要选择avg然后你点击它然后它会增加2但是永远不会删除然后过去的3. / p>

帮助

    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) + "%");
            }
        }
    });

我需要做些什么才能让它发挥作用?所有其他尝试都失败了。

0 个答案:

没有答案