正如java中的監聽處理模型一樣,Android也提供了同樣的基于監聽接口的事件處理模型。
1. OnClickListener接口:
功能:該接口處理的是點擊事件。在觸控模式下,是在某個View上按下并抬起的組合動作,而在鍵盤模式下,是某個View獲得焦點后點擊確定鍵或者按下軌跡球事件。
對應的回調方法:public void onClick(View v)
說明:需要實現onClick方法,參數v便為事件發生的事件源。
2. OnLongClickListener接口:
功能:OnLongClickListener接口與之前介紹的OnClickListener接口原理基本相同,只是該接口為View長按事件的捕捉接口,即當長時間按下某個View時觸發的事件。
對應的回調方法:public boolean onLongClick(View v)
說明:需要實現onLongClick方法。
參數v:參數v為事件源控件,當長時間按下此控件時才會觸發該方法。
返回值:該方法的返回值為一個boolean類型的變量,當返回true時,表示已經完整地處理了這個事件,并不希望其他的回調方法再次進行處理;當返回 false時,表示并沒有完全處理完該事件,更希望其他方法繼續對其進行處理。
3. OnFocusChangeListener接口:
功能:OnFocusChangeListener接口用來處理控件焦點發生改變的事件。如果注冊了該接口,當某個控件失去焦點或者獲得焦點時都會觸發該接口中的回調方法。
對應的回調方法:public void onFocusChange(View v, Boolean hasFocus)
說明:需要實現onFocusChange方法。
參數v:參數v便為觸發該事件的事件源。
參數hasFocus:參數hasFocus表示v的新狀態,即v是否是獲得焦點。
4. OnKeyListener接口:
功能:OnKeyListener是對手機鍵盤進行監聽的接口,通過對某個View注冊該監聽,當View獲得焦點并有鍵盤事件時,便會觸發該接口中的回調方法。
對應的回調方法:public boolean onKey(View v, int keyCode, KeyEvent event)
說明:需要實現onKey方法。
參數v:參數v為事件的事件源控件。
參數keyCode:參數keyCode為手機鍵盤的鍵盤碼。
參數event:參數event便為鍵盤事件封裝類的對象,其中包含了事件的詳細信息,例如發生的事件、事件的類型等。
5. OnTouchListener接口:
功能:OnTouchListener接口是用來處理手機屏幕事件的監聽接口,當為View的范圍內觸摸按下、抬起或滑動等動作時都會觸發該事件。
對應的回調方法:public boolean onTouch(View v, MotionEvent event)
說明:需要實現onTouch方法。
參數v:參數v同樣為事件源對象。
參數event:參數event為事件封裝類的對象,其中封裝了觸發事件的詳細信息,同樣包括事件的類型、觸發時間等信息。
6. OnCreateContextMenuListener接口:
功能:OnCreateContextMenuListener接口是用來處理上下文菜單顯示事件的監聽接口。該方法是定義和注冊上下文菜單的另一種方式。
對應的回調方法:public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo info)
說明:需要實現onCreateContextMenu方法。
參數menu:參數menu為事件的上下文菜單。
參數v:參數v為事件源View,當該View獲得焦點時才可能接收該方法的事件響應。
參數info:info對象中封裝了有關上下文菜單額外的信息,這些信息取決于事件源View。
該方法會在某個View中顯示上下文菜單時被調用,開發人員可以通過實現該方法來處理上下文菜單顯示時的一些操作。其使用方法與前面介紹的各個監聽接口沒有任何區別。
轉自:
http://blog.csdn.net/liranke