OnClickListenerを使わないボタン押し検知 | Androidちんたら開発室

OnClickListenerを使わないボタン押し検知

Buttonビューのタップは、入門書だともれなくButton.OnClickListenerメソッドを使っている


このリスナーの記述がえらくややこしくてげんなりしていたが、OS ver1.6の拡張でスッキリ記述できるらしい


やることは以下の2つ
 ・main.xmlに、ボタンをタップしたときに呼び出されるメソッドを追加する
 ・メソッドの中身を実装する



実装方法:

・xmlファイルへのメソッド追加


→androidSDKアドオンのレイアウト編集を使う場合
 eclipse上からres\layout\main.xmlを開き、レイアウトタブをクリックし、レイアウト画面へ移行
 アウトライン窓上より、タップ時動作を実装したいボタン名をクリックし、ボタンのプロパティー画面を表示する
 プロパティーの中からOn Click項目を探し、値の空欄にボタンタップ時に呼び出されるメソッド名を追加する
 (ここでは仮にonClickButton01とする)


→直接xmlを変更する場合
 res\layout\main.xmlのタップ時動作を実装したいボタンに対して、以下の記述を追加
 android:onClick="onClickSound01"
 (追加箇所はandroid:layout_widht = ~とかと同じ場所)


・メソッドの中身を実装


 アクティビティが記述された<main>.javaを開く(いつものextends Activityが記述してあるあのファイルだ)
 onCreate()と同じ深さに以下を定義
 
 public void onClickButton01(View view)
 {
   //ここにタップ時の処理を記述
 }



以上
スゲー簡単になった
クリックリスナーを使わないデメリットは不明
また今度調べよう