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