我如何获得从 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]);
}
}
}
});
我以编程方式创建了 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]);
}
}
}
});