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