gpt4 book ai didi

java - 如何修复在 Android 中崩溃的 Activity 的重启?

转载 作者:行者123 更新时间:2023-12-03 23:05:13 26 4
gpt4 key购买 nike

我以编程方式创建了 5 个单选组,每个组有 4 个单选按钮。答案是数据库查询的结果。我添加了一个重新启动按钮和一个 OnClickListener。我想当有人点击按钮时,重新启动我的 Activity 。当应用程序第一次启动时,它工作正常但是当我按下按钮重新加载 Activity 时,我收到此错误:无法启动 Activity ComponentInfo{...}: java.lang.ArrayIndexOutOfBoundsException: length=4; index=4 这怎么可能,第一次完美运行,重新加载 Activity 时崩溃?我怎样才能解决这个问题?这是我的代码:

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 = new Button(this);
restartButton.setText(R.string.restartButton);
linearLayout.addView(restartButton);

restartButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = getIntent();
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
finish();
startActivity(intent);
}
});

谢谢!

最佳答案

In Intent intent = getIntent();你需要像这样设置参数

Intent intent = getIntent(getApplicationContext(),NameOfYourClass.class)

或者如果您正在调用 SDK 11+,请尝试重新创建 Activity

super.recreate();

但如果两者都不起作用,我认为您的表中有一些错误。尝试使用 ArrayList。

关于java - 如何修复在 Android 中崩溃的 Activity 的重启?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33641993/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com