我有一个测验类型的应用程序,并且在每个问题上我都有一个让用户标记问题的选项。RadioGroup CheckedChangeListener错误索引
当我首先打开对话框时,一切正常,但如果我再次打开对话框导致索引增量。
例如,如果我按在指数5,结果指数是5,然后如果我再次打开对话框,按指数5再次结果是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();
它工作第一次,但如果我再试一次,我总会得到一个ArrayIndexOutOfBoundsException
。
感谢我今天学到了新的东西:),我认为我是指数,而不是ID非常感谢 –
:)欢迎您,谢谢为了投票 –