Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android基於回調的事件處理

Android基於回調的事件處理

編輯:關於Android編程

摘要:不管是桌面應用還是手機應用,面對最多的就是用戶,經常需要處理的就是用戶動作–也就是需要為用戶動作提供響應。這種為用戶動作提供響應的機制就是事件處理。
Android提供了強大的事件處理機制,包括兩套事件處理機制:
**–>基於監聽的事件處理
–>基於回調的事件處理**
基於監聽的事件處理平時用的比較多,比較熟悉了,這裡記錄一下我不熟悉的基於回調的事件處理。
對於基於回調的事件處理模型來說,事件源和事件監聽器是統一的,或者說事件監聽器完全消失了。當用戶在GUI組件上激發某個事件時,組件自己特定的方法將會負責處理該事件。
基於回調的事件處理機制可通過自定義View類來實現,自定義View時重寫該View的事件處理方法即可。下面是一個自定義按鈕的實現類。

public class MyButton extends Button
{
    public MyButton(Context context , AttributeSet set)
    {
        super(context , set);
    }
    @Override
    public boolean onKeyDown(int keyCode , KeyEvent event)
    {
        super.onKeyDown(keyCode , event);
        Log.v("----" , "基於回調的實例");
        return true;
    }
}

在我們自定義的Button中,重寫了onKayDown方法,該方法會負責處理按鈕上的鍵盤事件。
在xml文件中使用MyButton組件時:

com.caiyun.MyButton是MyButton類完整的類名。使用自定義的類時,都要用完整的類名哦!
這樣定義之後,無需在java程序中為按鈕綁定監聽器–因為按鈕自己重寫了onKeyDown(int keyCode , keyEvent event)方法,這以為著按鈕將會自己處理相應的事件。
小結:對於監聽的事件處理模型來說,事件源和事件監聽器是分離的,當事件源上發生特定的事件之後,該事件交給事件監聽器負責處理;對於基於回調的事件處理來說,事件源和事件監聽器是統一的,當事件源發生特定的事件後,該事件還是由事件本身負責處理。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved