我有一個測驗類型的應用程序,並且在每個問題上我都有一個讓用戶標記問題的選項。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非常感謝 –
:)歡迎您,謝謝爲了投票 –