Android的事件處理之監聽與回調

來源:互聯網
上載者:User

標籤:android

Android的事件處理機制:

基於監聽的事件處理
基於回調的事件處理

監聽:
為Android的組件綁定特定的事件監聽器,當觸發相應的事件時,會調用這些方法;

三個對象:
1.事件來源 也就是事件發生的場所,通常為各個組件
2.事件
3.事件監聽器

事件監聽的四種方法:

當控制項調用setOnClickListener()的時候,需要傳入一個OnClickListener的參數。通過查看原始碼,我們會發現,OnClickListener是一個介面。
所以,我們可以考慮三種方式來實現這個介面的功能:
1.建立一個外部類,實現介面:
例:

public class ClickOkListener implements OnClickListener{    //重寫OnClick方法}//**************************************////在Activity中調用btn.setOnClickListener(new ClickOkListener)

2.匿名內部類的方式
例:

btn.setOnClickListener(new OnClickListener(){    onClick()    {        //處理事件    }});

3.Activity作為事件監聽器
(1).btn.setOnCLickListener(this)
(2).讓Activity implements OnCLickListener
(3).在Activity中重寫onClick方法

此外,Android還允許開發人員通過在xml中設定onClick屬性來綁定點擊事件的處理。

回調:
處理Android組件特定的回調方法。
回調的事件處理模型中,事件來源和事件監聽器進行統一,當使用者觸發該事件的時候,組件中自己特定的方法會處理該事件。

View類中常用的回調方法:
onKeyDown 按鍵被按下
onKeyLongPress 按鍵被長按
onKeyUp 按鍵被鬆開
onTouchEvent 觸發觸控螢幕事件

回調事件的操作步驟:
1.自訂控制項類
2.在自訂的控制項中重寫父類的回調方法
3.在xml布局檔案中,直接使用自訂控制項

補充:幾乎每一個事件處理方法都有布爾類型的傳回值,用於標示該處理方法是否完全處理該事件。
如果返回true,則處理事件,不把事件傳遞出去。
如果返回false,則不處理事件,並把事件傳遞下去。

事件處理的先後順序:
1.監聽
2.回調
3.當前的Activity

著作權聲明:剛出鍋的原創內容,希望對你有協助~

Android的事件處理之監聽與回調

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.