Я создал программно, 5 радиогрупп с 4 переключателями каждый. Я установил OnClickListener
на кнопку сброса, которую я создал тоже. Я хочу, чтобы кто-то нажал кнопку, чтобы перезапустить мою активность. Как это возможно? Когда приложение запускается в первый раз, оно работает нормально, но когда я нажимаю кнопку для перезагрузки активности, эмулятор падает. Если я прокомментирую строки, где я создаю группы радио и радиокнопки, и я нажимаю кнопку, действие перезаряжается в порядке, в противном случае у меня есть эта ошибка: Unable to start activity ComponentInfo{...}: java.lang.ArrayIndexOutOfBoundsException: length=4; index=4
. Как можно перезагрузить работу без проблем? Вот мой код:Как исправить ArrayIndexOutOfBoundsException при перезагрузке в Android?
answerGroup = new RadioGroup[5];
answer = new RadioButton[4];
int i = 0;
for (Question qn : questions) {
answerGroup[i] = new RadioGroup(this);
answerGroup[i].setOrientation(RadioGroup.VERTICAL);
int j = 0;
for (Answer an : answers) {
if (qn.getID() == an.getQuestion_id_answer()) {
answer[j] = new RadioButton(this);
answer[j].setText(an.getAnswer());
answerGroup[i].addView(answer[j]);
j++;
}
}
linearLayout.addView(answerGroup[i]);
i++;
}
restartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = getIntent();
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
startActivity(intent);
}
});
Спасибо!
укажите, пожалуйста, все logcat –
, что он показывает в logcat –
Да, вы правы. Вот мой [весь logcat] (http://www.gogo.ro/23.png) –