• Android事件处理机制


      包括监听和回调两种机制。

      1. 基于监听的事件处理:

      事件监听包含三类对象,事件源,事件,事件监听器。Android的事件处理机制是一种委派式(Delegation)事件处理方式:普通组件(事件源)将整个事件处理委托给指定的对象(事件监听器);当该事件源发生指定的事件时,就通知所委托的事件监听器,由事件监听器来处理这个事件。

      委派式事件处理方式类似于人类社会的分工协作。例如某单位发生火灾,该单位通常不自己处理该事件,而是通知消防局(事件监听器)去处理;发生治安事件,该单位通知公安局(事件监听器)去处理。而消防局、公安局也会同时监听多个单位的事件。这种委派式的事件处理机制将事件源和事件监听器分离,从而提高程序的可维护性。

      编程步骤如下:

    A. 获取界面组件,如findViewById;

    B. 实现监听器类,Java类,实现一个XxxListener接口;

    C. 调用事件源的setXxxListener方法将监听器对象注册给界面组件。

      如果事件发生时,有比较多的信息需要传递给监听器,则需要将信息封装成Event对象。

      Activity本身一般不作为事件监听器,因为Activity的主要职责应该是完成界面初始化工作,如果此时也包含了事件处理器方法,混乱而且怪异。

      大部分事件监听器只使用一次,因为使用匿名内部类形式的事件监听器更合适。

      2. 基于回调的事件处理:

      与事件监听机制不同,基于回调的方法使用的是组件自身的事件处理方法。Android为所有GUI组件都提供了回调方法,如onKeyDownonKeyLongPress等。

      几乎所有基于回调的事件处理方法都有一个boolean类型的返回值。当事件被触发时,最先触发的是该组件上绑定的事件监听器,然后是该组件提供的事件监听方法,然后是该组件所在的Activity。如果中途遇到返回值为true,则停止传播。

  • 相关阅读:
    评估您的网站/博客的价值
    Jquery从入门到精通:二、选择器 1、准备篇 (2)$()工厂方法
    JQuery核心:1.jQuery( expression, context )
    VS2008引用webservice的奇怪BUG解决方案
    Jquery从入门到精通:二、选择器 1、准备篇 1)基础的基础:DOM模型
    js实现html页面显示时间的定时刷新
    分页显示批量数据
    JSP与Access2010结合,实现数据的交互使用(re)
    通过datasource与数据库交互的jsp范例
    js练习V1
  • 原文地址:https://www.cnblogs.com/jiayayao/p/6129052.html
Copyright © 2020-2023  润新知