Ich habe eine Quiz-App und bei jeder Frage habe ich eine Option, mit der der Benutzer die Frage markieren kann.RadioGroup CheckedChangeListener falscher Index
Wenn ich den Dialog zuerst öffne funktioniert alles, aber wenn ich den Dialog wieder öffne, verursacht das Indexinkrement.
Zum Beispiel, wenn ich bei Index 5 drücken, Ergebnis Index 5 ist und dann, wenn ich den Dialog wieder öffnen, und drücken Sie den Index 5 wieder das Ergebnis ist 10.
Dialog alert = new Dialog(this);
alert.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));
alert.setContentView(R.layout.dialog_layout);
RadioGroup mRadioGroup = (RadioGroup) alert.findViewById(R.id.dialog_radioGroup);
final String[] options = {
((RadioButton)mRadioGroup.getChildAt(0)).getText().toString(),
((RadioButton)mRadioGroup.getChildAt(1)).getText().toString(),
((RadioButton)mRadioGroup.getChildAt(2)).getText().toString(),
((RadioButton)mRadioGroup.getChildAt(3)).getText().toString(),
((RadioButton)mRadioGroup.getChildAt(4)).getText().toString(),
};
mRadioGroup.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int i) {
sendToServer = options[i];
}
});
alert.show();
Es ersten Mal funktioniert, aber Wenn ich es erneut versuche, bekomme ich immer eine ArrayIndexOutOfBoundsException
.
Dank lernte ich eine neue Sache heute :), dachte ich, dass der i war der Index und nicht die id vielen Dank –
:) Sie willkommen sind, danken für die Abstimmung –