含义:为用户动作提供响应就是事件处理。

Android提供了强大的事件处理机制:基于监听的事件处理、基于回调的事件处理。

一、基于监听的事件处理

监听的处理模型主要涉及三类对象

》Event Source(事件源):事件发生的场所,通常就是各个组件,按钮啥的

》Event(事件):事件封装了界面的组件上发生的特定事情(通常就是一次用户操作)

》Event Listener(事件监听器):负责监听事件源发生的事件,对各种事件作出相应的响应

Android的事件处理机制是一种委派式(Delegation)事件处理方式:普通组件将整个事件处理委托给特定的事件监听器对象;

事件源发生指定的事件时,通就知所委托的事件监听器,由事件监听器来处理这个事件。

任何界面组件都可以作为事件源;事件的产生由Android系统生成;实现事件监听器是整个事件处理的核心。

二、基于回调的事件处理

回调的处理模型:

事件源和事件监听器是统一的,当事件源发生特定事件之后,该事件还是由事件源本身负责处理,组件自己特定的方法将会负责处理该事件。

为了实现回调机制的事件处理,Android为所有的组件都提供了一些事件处理的回调方法,继承组件类,并重写该类的事件处理方法即可。

以View类为例:包含如下方法:

public boolean onKeyDown(int keyCode, KeyEvent event)
当用户在组件上按下按键时触发
public boolean onKeyUp(int keyCode, KeyEvent event)
当用户在组件上松开按键时触发
public boolean onKeyShortcut(int keyCode, KeyEvent event)
当一个键盘快捷键事件发生时触发该方法

基于回调的事件传播:

基于回调的事件处理方法都有一个Boolean类型的返回值

》如果返回true,表明已经完全处理该事件,该事件不会传播出去

》如果返回false,表明并未完全处理该事件,该事件会传播出去

Android事件处理的更多相关文章

  1. Android 事件处理

    目的:通过全面的分析Android的鼠标和键盘事件.了解Android中如何接收和处理键盘和鼠标事件,以及如何用代码来产生事件. 主要学习内容: 1. 接收并处理鼠标事件:按下.弹起.移动.双击.长按 ...

  2. Android零基础入门第33节:Android事件处理概述

    原文:Android零基础入门第33节:Android事件处理概述 通过对Android基本组件的学习,也有接触少部分Android的事件处理,比如按钮的点击事件.选框的状态切换事件. 一.Andro ...

  3. android事件处理之基于监听

    Android提供了了两种事件处理方式:基于回调和基于监听. 基于监听: 监听涉及事件源,事件,事件监听器.用注册监听器的方法将某个监听器注册到事件源上,就可以对发生在事件源上的时间进行监听. 最简单 ...

  4. Android事件处理机制

    包括监听和回调两种机制. 1. 基于监听的事件处理: 事件监听包含三类对象,事件源,事件,事件监听器.Android的事件处理机制是一种委派式(Delegation)事件处理方式:普通组件(事件源)将 ...

  5. Android事件处理--读书笔记

    2013-12-28 17:57:17 1. Android提供了两种方式的事件处理:基于回调和基于监听的事件处理: 1.1 对基于监听的事件处理而言,主要做法是为Android界面组件绑定特定的事件 ...

  6. Android事件处理概述

    不管是桌面应用还是手机应用程序,面对最多的就是用户,经常需要处理的就是用户的动作——也就是需要为用户动作提供响应,这种为用户动作提供响应的机制就是事件处理. Android提供了强大的事件处理机制,包 ...

  7. android事件处理概括

    什么是事件处理? 事件处理就是针对用户的一些特定操作,进行相对应的回馈.时间处理也是程序开发中的人机交互的一个非常重要的体现.事件处理中,事件源是事件的起始位. 一.事件处理三要素 事件源——事件—— ...

  8. Android事件处理的2种方式:监听器与回调

    android组件的事件处理有2种方式: 1.基于监听器的事件处理方式:先定义组件,然后为组件设定监听器. 详见http://blog.csdn.net/jediael_lu/article/deta ...

  9. Android——事件处理模型一(基于回调机制的事件处理)(转)

    Android平台的事件处理机制有两种,一种是基于回调机制的,一种是基于监听接口的,现介绍第一种:基于回调机制的事件处理.Android平台中,每个View都有自己的处理事件的回调方法,开发人员可以通 ...

随机推荐

  1. 时间编程,王明学learn

    时间编程 一.时间类型 Coordinated Universal Time(UTC):世界标准时间,也就是大家所熟知的格林威治标准时间(Greenwich Mean Time,GMT) Calend ...

  2. JQuery 操作对象的属性值

    通过JQuery去操作前台对象(div,span...)的属性是很常见的事情,本文就简单的介绍几种操作情形. 1):通过属性值去获取对象 2):用JQuery去修改对象的属性值 3):获取并修改对象的 ...

  3. pythonchallenge之C++学习篇-01

    字符处理时每个语言都具备的一种功能,其中还有一些语言因此出名,比如perl,shell,还有一些函数式的编程语言 C语言中的字符串与数组和指针联系的比较紧密,因此可以这样生命字符串*p="h ...

  4. 通信原理实践(五)——2PSK 与2DPSK 通信系统

    一.一些Matlab函数 二.2PSK调制解调,性能分析 1.2PSK调制 (1)图示 (2)Matlab代码 function [ s_t ,bb_t,bits] = psk2_module( nS ...

  5. 封装用className选元素

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  6. zookeeper源码分析二FASTLEADER选举算法

    如何在zookeeper集群中选举出一个leader,zookeeper使用了三种算法,具体使用哪种算法,在配置文件中是可以配置的,对应的配置项是"electionAlg",其中1 ...

  7. Jmeter 检查点

    Jmeter的检查点就是插入个断言,但用下来不好用,没LR好用,先放放.

  8. apk签名(不打包)

    apk提交给应用市场加固后,需要重新签名 签名工具:360签名 下载地址:http://yunpan.cn/cm8GqVWL7Y8Eh 签名步骤:http://jiagu.360.cn/qcms/he ...

  9. 【maven】 pom.xml详解

    pom.xml详解 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www ...

  10. C语言常用知识

    跳出for循环主要有以下2中方式: 1.用break语句.如: int i; for(i=0; i<10; i++) {     if(i>3)    // 如果i>3,跳出for循 ...