Java 如何在按下新单选按钮时取消附加到先前选中单选按钮的值

Java 如何在按下新单选按钮时取消附加到先前选中单选按钮的值,java,android,Java,Android,嘿,伙计们,我需要帮助 我有一个测验应用程序,我正在解析xml文件中的问题。在解析时,我有成千上万的问题来自不同的subject.xml和subjectanswer.xml。我生成了一个随机变量,随机选择不同的问题,答案也会沿着问题的旁边选择 所以这是我的问题,当选择答案时,我想将其与用户将选择的答案进行比较。如果用户选择了A,那么A对应于我想要的解析xml的答案sum=sum+10。在我的单选按钮中,假设用户首先选择正确答案->sum=sum+10。现在如果用户改变主意,选择另一个答案。。。总

嘿,伙计们,我需要帮助

我有一个测验应用程序,我正在解析xml文件中的问题。在解析时,我有成千上万的问题来自不同的
subject.xml
subjectanswer.xml
。我生成了一个随机变量,随机选择不同的问题,答案也会沿着问题的旁边选择

所以这是我的问题,当选择答案时,我想将其与用户将选择的答案进行比较。如果用户选择了
A
,那么
A
对应于我想要的解析xml的答案
sum=sum+10
。在我的单选按钮中,假设用户首先选择正确答案->
sum=sum+10
。现在如果用户改变主意,选择另一个答案。。。总数仍为10。。。我希望在单击另一个单选按钮时,将附加到上一个已选择单选按钮的值取消

我希望你们能解决这个问题。请帮帮我,伙计们

@Override
public void onCheckedChanged(RadioGroup arg0, int arg1) {
    switch (arg1) {
    case (R.id.a1):

        if (a1.isChecked())
            if (what.equalsIgnoreCase("A")) {
                sumUp = sumUp + 10;
            }

        break;

    case (R.id.b1):
        if (b1.isChecked())
            if (what.equalsIgnoreCase("B")) {
                sumUp = sumUp + 10;
            }
        break;

    case (R.id.c1):
        if (c1.isChecked())
            if (what.equalsIgnoreCase("C")) {
                sumUp = sumUp + 10;
            }
        break;

    case (R.id.d1):
        if (d1.isChecked())
            if (what.equalsIgnoreCase("D")) {
                sumUp = sumUp + 10;
            }
        break;
    }

    String sumUptoString = Integer.toString(sumUp);
    tv3.setText(sumUptoString);

}

what
变量是我从
subjectanswer.xml

中解析出来的原始答案。只有当用户确认了她的决定时,才应该检查并增加分数。请先检查
if(a1.isChecked())
if(b1.isChecked())
等语句。他们看起来很可疑。我想你需要稍微改变一下,让事情变得容易些。OnCheckedChanged应该启动一个方法,该方法检查到目前为止给出的所有答案,以确定总数。也就是说,总数不是一个存储的变量,而是一个在需要时计算的值。如果您有以前活动/QUIZ等的总计,则应将其与当前问题列表中的总计分开存储,并根据需要添加到末尾。希望这是有意义和有帮助的。