勉強:リスナーについて
リスナーの概念やら何やら
つまづいたので調べてみました。
1.リスナーとは?
イベント通知をうけとり、それに対応したメソッドの提供をするもの。
※各リスナーとリスナーに対応したコールバックメソッドの一覧(以下引用)。
onClick()
View.OnClickListener
のメソッド。 ユーザーがアイテムをタップしたとき(タッチモードの場合)、またはナビゲーション キーまたはトラックボールでアイテムにフォーカスを合わせ、適切な「エンター」キーまたはトラックボールを押したときに、呼び出されます。
onLongClick()
View.OnLongClickListener
のメソッド。 ユーザーがアイテムをタップしてホールドしたとき(タッチモードの場合)、またはナビゲーション キーまたはトラックボールでアイテムにフォーカスを合わせ、適切な「エンター」キーまたはトラックボールを長押し(1 秒間)したときに、呼び出されます。
onFocusChange()
View.OnFocusChangeListener
のメソッド。 ナビゲーション キーやトラックボールを使用してユーザーがアイテムに移動したとき、またはアイテムから離れるときに、呼び出されます。
onKey()
View.OnKeyListener
のメソッド。 ユーザーがアイテムにフォーカスを合わせて端末のハードウェア キーを押したとき、または離したときに、呼び出されます。
onTouch()
View.OnTouchListener
のメソッド。 画面(アイテムの境界線内)での押す、離す、移動操作などのタップイベントと認定されるアクションをユーザーが実行した場合に呼び出されます。
onCreateContextMenu()
View.OnCreateContextMenuListener
のメソッド。 コンテキスト メニュー(「長押しクリック」し続けると作成されます)の作成中に呼び出されます。コンテキスト メニューについての詳細は、メニューのデベロッパー ガイドをご覧ください。
参考サイト:
2.コールバックメソッドとは?
ある状態になった時に自動的に呼び出されるメソッドのこと。
3.独自のリスナーの定義について
公式に定義されているリスナーが6つほどあるけれど、より複雑な条件にも対応したいと言った場合に独自のリスナーを作成することが可能。
記述量の減る簡単な実装方法として
①独自のリスナーの宣言
②コールバックの定義
③コールバック時の設定
④使用する時は匿名クラスを使用
参考サイト:
まだまだ知識を入れる段階すぎる、、、