4択クイズアプリ〜画像編

Android Studio 画像を使うクイズアプリの作り方 第4回「正解・不正解の判定」

ここまでの記事はこちら
 

前回まででクイズを表示できるようになったので、今回はクイズの正解・不正解を判定できるようにしていきます。

第1回「クイズ画面の作成」で回答ボタンに「android:onClick="checkAnswer"」と書きました。
 


 

これは「このボタンが押されたら checkAnswer メソッドを呼びます」という意味です。
 

今回はこの checkAnswer メソッドを追加して、クイズの正解・不正解を判定できるようにします。判定後はダイアログを使って正解・不正解を表示してみます。
 

 
MainActivity.java を開いて始めていきましょう!
 
 

Android Studio 4択クイズアプリ開発講座ではより詳しくクイズアプリの作り方を解説しています。ぜひこちらもお読みください🙂

【必ず完成できる】 Android Studio 4択クイズアプリ開発講座 Android Studioクイズアプリ開発講座へようこそ! この講座では4択クイズアプリの作り方を紹介していきます。 ...

 
 

 

動画

【Android Studio】4択クイズアプリ開発講座〜画像編 #5 正解・不正解の判定

 
 

解説

checkAnswer メソッド

5~40行目を追加します。

 

必要なimport

前回までと同じように「alt + return」で警告を消します。
 

 
 
追加されるのは、以下3つです。

import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.view.View;

 
 

どの回答ボタンが押されたかを取得

8行目 Button answerBtn = findViewById(view.getId());
9行目 String btnText = answerBtn.getText().toString();

押された回答ボタンを見つけ、そのボタンのテキストを取得しています。
 
 

正解・不正解の判定

12行目 if (btnText.equals(rightAnswer)) {

回答ボタンのテキストと rightAnswer が一致するかで、正解・不正解を判定します。

正解の場合は、このあと作成するダイアログのタイトルを「正解!」として、正解数をカウントする rightAnswerCount に1を足します。

不正解の場合は、ダイアログのタイトルを「不正解…」とします。
 
 

ダイアログを表示する

22行目からはダイアログを作成しています。

まずは、タイトル・メッセージ・OKボタンを追加します。


 
 

25行目からはOKボタンが押された時の処理を書いています。

if (quizArray.size() < 1) {
 // クイズを全て出題したら結果を表示
} else {
 quizCount++;
 showNextQuiz();
}

 
quizArray の中身が空の場合は「全てのクイズを出題した」ということなので、クイズ結果を表示します。

quizArray にまだ出題していないクイズが残っている場合は quizCount に1を足し、再び showNextQuiz メソッドを呼びます。
 


 
 

これでクイズを続けて出題できるようになります。
 
 

出題数を指定したい場合
全てのクイズを出題し終わるまで続けるのではなく、自分で出題数を決めたい場合は、以下の記事の「QUIZ_COUNT」を参考にしてください🙂

Android Studio 4択クイズアプリ開発講座 第5回「正解・不正解チェック」ここまでの記事はこちら 前回はクイズを表示できるようにしたので、今回はクイズの正解・不正解を判定できるようにしていきます。 ...

 
 

エミュレーターで確認

ここまで出来たらエミュレーターでアプリを起動してみてください。
正解・不正解の判定が正しく行われ、クイズが連続して出題されるでしょうか?

もし上手く動かない場合は、下のサンプルコードを確認してみてください。
 
 

次に行うこと

これで正解・不正解の判定は完成です!
次回はクイズ結果を表示できるようにしていきます。

第5回「結果の表示」に進む
 
 

ここまでのサンプルコード

 
 

ABOUT ME
Sara
Sara
「わかりやすく・シンプル」をモットーに、携帯アプリ・ウェブアプリの作り方を紹介します。 独学でプログラミングを勉強をしている方、基礎は勉強したけれど次に何をすれば良いか分からない...という方のお役に立てるサイトを目指しています🙂

COMMENT

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です