回答編集履歴
1
メソッド名の修正(setOn'C'lickListener)
answer
CHANGED
@@ -3,10 +3,11 @@
|
|
3
3
|
`onClick()`という名称のメソッドは、その名の通り「クリック(スマホ等では"タップ")した時」に呼び出される様に見えますが、
|
4
4
|
これは`View.OnClickListener`(以下リスナー)というインタフェース内のメソッドなのです。
|
5
5
|
ただ`onClick()`メソッドを書いても、コードのどこかで明示的に呼び出さない限り実行されません。
|
6
|
+
(リスナーを実装してViewにセットしなければただの"onClick"という名前のメソッドというだけ)
|
6
7
|
|
7
8
|
クリックした時に何かさせたいのであれば、対象となるボタンなどのViewに対して(仮にButton btとする)
|
8
9
|
```lang-java
|
9
|
-
bt.
|
10
|
+
bt.setOnClickListener(/* リスナー実装型オブジェクト */);
|
10
11
|
```
|
11
12
|
を実行し、どういった動作をするのかは、リスナーを実装したクラスで
|
12
13
|
`onClick()`をオーバーライドして動作を記述します。
|
@@ -14,11 +15,11 @@
|
|
14
15
|
|
15
16
|
通常はViewが置かれているActivity自体にリスナーを実装し、
|
16
17
|
```lang-java
|
17
|
-
bt.
|
18
|
+
bt.setOnClickListener(this);
|
18
19
|
```
|
19
20
|
とするか、無名クラスを使って、
|
20
21
|
```lang-java
|
21
|
-
bt.
|
22
|
+
bt.setOnClickListener(new View.OnClickListener(){
|
22
23
|
@Override
|
23
24
|
public void onClick(View v){
|
24
25
|
//処理を記述する
|