【Android Studio】クイズアプリ開発講座 第6回「結果画面の作成」

ここまでの記事はこちら
今回はクイズの正解数とトータルスコアを表示する結果画面を作成していきます。

解説
1. 結果画面のファイルを作成する
まずは結果画面に必要な
- ResultActivity.java
- activity_result.xml
を作成します。
Step 1
app → java → jp.codeforfun.quizapp(パッケージ名)を選択した状態にします。

Step 2
右クリック → New → Activity → Empty Activity を選択します。
(* Android Studio Flamingo 以降は Empty Views Activity を選択)

Step 3
Activity Name に ResultActivity と入力して「Finish」を押します。

ResultActivity.java と activity_result.xml が作成できたら、結果画面のレイアウトを作成していきましょう。
2. レイアウトを作成
結果画面のレイアウトを作成していきます。
activity_result.xml を開いて、以下のように書いてください。
このような画面になりましたか?

クイズ画面の作成で書いた XML とほとんど同じですが、いくつか要素を見てみましょう。
android:id=”@+id/resultLabel”
ここにはクイズの正解数を表示します。
「3 / 5」は 5 問中 3 問正解という意味です。正解数の表示形式はあとで変更できます。
android:id=”@+id/totalScoreLabel”
ここにはクイズの累積正解数(今までに何問正解したか)を表示します。
このトータルスコアはクイズデータとしてアプリに保存されるようにします。
もどるボタン
もう一度クイズに挑戦できるように、クイズ開始画面へもどるボタンを用意します。
3. Warning の解消
レイアウトは完成ですが android:text=”~” 部分に Warning が出ています。
クイズ画面と同じく strings.xml に文字列を定義していないことが原因なので、修正しておきましょう。
strings.xml
10~13行目を追加します。
- 正解数「3 / 5」の 3
- 「トータルスコア : 333」の 333
は ResultActivity.java から書き換えるので %d を使います。
正解数を「5問中3問正解」と表示したい場合は
<string name="result_score">5問中%d問正解</string>
と書いて下さい。
activity_result.xml
android:text=”~” を android:text=”@string/~” と変更して下さい。

3行目のコードも不要なので削除してしまいましょう。

次に行うこと
これで結果画面のレイアウトは完成です!
次回はクイズ結果を表示して、スコアを保存できるようにしていきます。