回答編集履歴

1

操作ミスで途中で解答してしましました。。。

2019/12/21 18:04

投稿

Gonnnn
Gonnnn

スコア52

test CHANGED
@@ -2,4 +2,22 @@
2
2
 
3
3
  if (questionImage == a)
4
4
 
5
+ ではImageViewと変数aを比較しているわけですが、そもそも変数aを宣言していないのでエラーになります。(ImageViewもそのものではなくidやtagで比較した方がいいかと。。。)
6
+
7
+ ここで比較する案をしてもいいのですが、a~zまでを比較しif文を繋げていくのは面倒ですよね。。。
8
+
9
+
10
+
11
+ 解決案としては思いつくのはMapを使う方法ですね。
12
+
5
- はImageViewと変数a
13
+ Mapは調べたら使い方は沢山てきます。
14
+
15
+ それで正解画像のidをキーにしてSoundPlayerをオブジェクトにしたMapを作れば
16
+
17
+ map.get(questionImage.getId()).soumdPlay();
18
+
19
+ で再生できます。(プログラムを読んでいる感じだと、SoundPlayerは独自のクラスで、soundaPlay()~soundzPlayまで作るつもりなのだと思いますが、オブジェクト指向では、1つのSoundPlayerには1つの効果音を入れるのがいいと思います)
20
+
21
+
22
+
23
+ プログラムが分からないときは、処理を1行ずつ理解していきそのときのメソッドは何をしているのか調べ、そのときの変数はどういったものが入っているのかを調べ理解していけば、効率良く勉強出来ると思いますよ。