(Android)RadioButton:如果未选中则重置事件?

时间:2015-08-06 15:28:54

标签: android radio-button radio-group android-radiogroup

作为练习,我正在制作这个非常简单的应用程序,允许用户回答几个问题来决定他们是喜欢狗还是猫。我使用dogCountercatCounter int变量来计算亲狗或亲猫的答案数量。

我有一个问题:哪种动物最可爱?

例如,如果他们选择“狗”,则该应用会向dogCounter添加1。但如果他们后来决定选择“猫”,dogCounter的值保持不变(即1)。我试图这样做,以便如果“狗”在之前被选中后未被选中,dogCounter将恢复为0.

我不确定在此之后该怎么做:

public void setCutestQuestion3(RadioGroup radioGroup) {
    radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {

            radioButtonCutest = (RadioButton) findViewById(checkedId);

            if (radioButtonCutest != null) {

                if (radioButtonCutest.getText().equals("Dogs")) {
                    dogCounter += 1;

                } else if (radioButtonCutest.getText().equals("Cats")) {
                    catCounter += 1;
                }
            }
        }
    });
}

有人可以帮忙吗?我很尴尬地说,我花了两天时间试图解决这个问题。

提前致谢。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,对于每个问题,你的两个答案决定用户是喜欢猫还是狗是正确的?在这种情况下,取消选择狗也意味着选择猫:

public void setCutestQuestion3(RadioGroup radioGroup) {
radioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {

    @Override
    public void onCheckedChanged(RadioGroup group, int checkedId) {

        radioButtonCutest = (RadioButton) findViewById(checkedId);

        if (radioButtonCutest != null) {

            if (radioButtonCutest.getText().equals("Dogs")) {
                dogCounter += 1;
                catCounter -= 1

            } else if (radioButtonCutest.getText().equals("Cats")) {
                catCounter += 1;
                dogCounter -= 1;
            }
        }
    }
});
}

希望有所帮助