在基於事件的處理模型中,事件監聽器必須實現事件監聽器接口,Android爲不同的界面組件提供了不同的監聽器接口,這些接口通常以內部類的形式存在,例如View類包含了如下接口:
- View.OnClickListener:單擊事件
- View.OnCreateContextMenuListener:創建上下文菜單事件
- View.OnFocusChangeListener:焦點改變事件
- View.OnKeyListener:按鍵事件
- View.OnLongClickListener:長單擊事件
- View.OnTouchListener:觸摸屏事件
- 內部類形式:將事件監聽器類定義爲當前類的內部類,可以在當前類中複用該監聽器;
- 外部類形式:將事件監聽器定義成一個外部類;
- Activity本身作爲事件監聽器類:讓Activity本身實現監聽器接口,並實現事件處理方法;
- 匿名類形式:使用匿名內部類創建事件監聽器,大部分事件監聽器都是臨時使用一次,沒什麼複用價值,所以這種形式的監聽器比較常見。“new 監聽器接口/事件適配器”
- 直接綁定到標籤:在佈局文件,控件的屬性中定義,例如:android:onClick = "clickHandler",爲控件綁定了一個單擊事件處理方法clickHandler,開發者就需要在對應的ativity中定義一個clickHandler方法