我如何获得从 Android 中的单选组选中的最后一个单选按钮?

How do i get the last radio button that was checked from a radio group in Android?

我以编程方式创建了 4 个带有 4 个单选按钮的单选组。每个单选按钮代表一个问题的答案。假设我们在第一个无线电组中有 3 个错误答案,只有一个正确答案。第一、二、三错,第四对。当有人只选中一个单选按钮时,比如说第一个,这是一个错误的按钮,它会转到 wrongAnswersRadios 数组列表。但是,如果有人检查第一个然后改变主意并检查最后一个(正确的),那么第一个被检查的将转到 wrongAnswersRadios 数组列表,最后一个被检查的将转到 correctAnswerRadios数组列表。我认为每次选中单选按钮时 onClick 都会触发。
我如何设法在数组列表中添加每个单选组中最后选中的单选按钮?这是我的代码:

correctAnswerRadios = new ArrayList<>();
wrongAnswersRadios = new ArrayList<>();

radioGroup.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        for (int j = 0; j < 4; j++) {
            checkedRadioButton[j] = ((RadioButton) v);
            if (checkedRadioButton[j].isChecked() & CorrectAnswer == 1) {
                correctAnswerRadios.add(checkedRadioButton[j]);
            } else {
                wrongAnswersRadios.add(checkedRadioButton[j]);
            }
        }
    }
});

你可以这样做:

correctAnswerRadios = new ArrayList<>();
wrongAnswersRadios = new ArrayList<>();

radioGroup.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        for (int j = 0; j < checkedRadioButton.length; j++) {            
            correctAnswerRadios.remove(checkedRadioButton[j]);
            wrongAnswersRadios.remove(checkedRadioButton[j]);
        }
        for (int j = 0; j < checkedRadioButton.length; j++) {
            if (checkedRadioButton[j].isChecked() & CorrectAnswer == 1) {
                correctAnswerRadios.add(checkedRadioButton[j]);
            } else {
                wrongAnswersRadios.add(checkedRadioButton[j]);
            }
        }
    }
});