此代码序列有问题。
question= Common.questionList.get(questionIndex);
https://imgur.com/a/OFQ28BA 如果我对此行发表评论,则会在第292行出现错误
txt_wrong_answer.setText(String.valueOf(0));
如果我也对此发表评论,则程序会运行,但无法完成游戏。 https://imgur.com/a/Qa0OKzZ
答案 0 :(得分:0)
替换此问题= Common.questionList.get(questionIndex);到以下代码
if(questionIndex >= 0 && questionIndex < Common.questionList.size()){
question= Common.questionList.get(questionIndex);
}
答案 1 :(得分:0)
对于第一个错误,您正在访问数组的-1。没有这样的位置,因此引发了ArrayOutOfBounds
异常。我将默认值0设为-1。
questionIndex = getArguments().getInt("index", 0)
我也建议检查或确保questions
数组至少有一个元素。因为如果为空,则0也将引发相同的错误。
对于第二个错误,您的参考文献txt_wrong_answer
尚未在onPrepareOptionsMenu
中设置。确保在调用.setText
之前对其进行了设置,或者使用if块if (txt_wrong_answer != null)