「質問と回答」の Android アプリを開発しています。ユーザーが間違った答えを選択すると、ゲームが終了し、この質問とその答えがデータベースにインポートされます。問題とその回答をデータベースにインポートできますが、2 番目のアクション (ゲームが終了し、結果が表示される) が機能しません。どうすればこれを修正できますか?
これは私の回答方法の選択です:
private void onOptionSelected(String option){
if(!isGamePaused && !isGameEnded) {
ATriviaQuestion tTQuestion = myListOfTriviaQuestions.get(currentQuestionNumber);
if(option.equals(tTQuestion.GetOptions().get(tTQuestion.GetAnswer() - 1))) {
correct += 1;
remainingTime = mySecondsPassed;
totalPoints += remainingTime * pointsPerRemainingSecond;
totalPoints += pointsPerCorrectAnswer;
}
else{ questionsAsked = totalQuestions;
incorrect += 1;
totalPoints -= pointsPerWrongAnswer;
DisplayResults();
EndGame();
database db= new database(this);
db.insertData(new ListOfData(myListOfTriviaQuestions.get(currentQuestionNumber).GetQuestion(),tTQuestion.GetOptions().get(tTQuestion.GetAnswer() - 1)));
loadListViewData(); ;
}
mySecondsPassed = config.GetTimeToAnswer();
UpdateTimerColors(mySecondsPassed);
if(questionsAsked >= totalQuestions){
isGameEnded=true;
EndGame();
DisplayResults();
} else {
currentQuestionNumber=GenerateQuestionNumber();
PopulateQuestion();
}
}else{
PausedOrEndedGameResponse();
}
}
これは LogCat です。
11-11 01:58:29.763: E/AndroidRuntime(276): FATAL EXCEPTION: main
11-11 01:58:29.763: E/AndroidRuntime(276): java.lang.NullPointerException
11-11 01:58:29.763: E/AndroidRuntime(276): at pk.aeh.ideos.taa.PlayGame.lietke_congviec(PlayGame.java:633)
11-11 01:58:29.763: E/AndroidRuntime(276): at pk.aeh.ideos.taa.PlayGame.onOptionSelected(PlayGame.java:229)
11-11 01:58:29.763: E/AndroidRuntime(276): at pk.aeh.ideos.taa.PlayGame.onClick(PlayGame.java:149)
11-11 01:58:29.763: E/AndroidRuntime(276): at android.view.View.performClick(View.java:2408)
11-11 01:58:29.763: E/AndroidRuntime(276): at android.view.View$PerformClick.run(View.java:8816)
11-11 01:58:29.763: E/AndroidRuntime(276): at android.os.Handler.handleCallback(Handler.java:587)
11-11 01:58:29.763: E/AndroidRuntime(276): at android.os.Handler.dispatchMessage(Handler.java:92)
11-11 01:58:29.763: E/AndroidRuntime(276): at android.os.Looper.loop(Looper.java:123)
11-11 01:58:29.763: E/AndroidRuntime(276): at android.app.ActivityThread.main(ActivityThread.java:4627)
11-11 01:58:29.763: E/AndroidRuntime(276): at java.lang.reflect.Method.invokeNative(Native Method)
11-11 01:58:29.763: E/AndroidRuntime(276): at java.lang.reflect.Method.invoke(Method.java:521)
11-11 01:58:29.763: E/AndroidRuntime(276): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
11-11 01:58:29.763: E/AndroidRuntime(276): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
11-11 01:58:29.763: E/AndroidRuntime(276): at dalvik.system.NativeStart.main(Native Method)