Android事件处理
含义:为用户动作提供响应就是事件处理。
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事件处理的更多相关文章
- Android 事件处理
目的:通过全面的分析Android的鼠标和键盘事件.了解Android中如何接收和处理键盘和鼠标事件,以及如何用代码来产生事件. 主要学习内容: 1. 接收并处理鼠标事件:按下.弹起.移动.双击.长按 ...
- Android零基础入门第33节:Android事件处理概述
原文:Android零基础入门第33节:Android事件处理概述 通过对Android基本组件的学习,也有接触少部分Android的事件处理,比如按钮的点击事件.选框的状态切换事件. 一.Andro ...
- android事件处理之基于监听
Android提供了了两种事件处理方式:基于回调和基于监听. 基于监听: 监听涉及事件源,事件,事件监听器.用注册监听器的方法将某个监听器注册到事件源上,就可以对发生在事件源上的时间进行监听. 最简单 ...
- Android事件处理机制
包括监听和回调两种机制. 1. 基于监听的事件处理: 事件监听包含三类对象,事件源,事件,事件监听器.Android的事件处理机制是一种委派式(Delegation)事件处理方式:普通组件(事件源)将 ...
- Android事件处理--读书笔记
2013-12-28 17:57:17 1. Android提供了两种方式的事件处理:基于回调和基于监听的事件处理: 1.1 对基于监听的事件处理而言,主要做法是为Android界面组件绑定特定的事件 ...
- Android事件处理概述
不管是桌面应用还是手机应用程序,面对最多的就是用户,经常需要处理的就是用户的动作——也就是需要为用户动作提供响应,这种为用户动作提供响应的机制就是事件处理. Android提供了强大的事件处理机制,包 ...
- android事件处理概括
什么是事件处理? 事件处理就是针对用户的一些特定操作,进行相对应的回馈.时间处理也是程序开发中的人机交互的一个非常重要的体现.事件处理中,事件源是事件的起始位. 一.事件处理三要素 事件源——事件—— ...
- Android事件处理的2种方式:监听器与回调
android组件的事件处理有2种方式: 1.基于监听器的事件处理方式:先定义组件,然后为组件设定监听器. 详见http://blog.csdn.net/jediael_lu/article/deta ...
- Android——事件处理模型一(基于回调机制的事件处理)(转)
Android平台的事件处理机制有两种,一种是基于回调机制的,一种是基于监听接口的,现介绍第一种:基于回调机制的事件处理.Android平台中,每个View都有自己的处理事件的回调方法,开发人员可以通 ...
随机推荐
- 关于socket——SO_SNDBUF and SO_RECVBUF
转自:http://blog.csdn.net/wf1982/article/details/38871521 参见 http://stackoverflow.com/questions/425741 ...
- 允许webservice远程测试
System.Web节点下添加 <webServices> <protocols> <add name= "HttpPost"/> <ad ...
- Convert XML to Object using LINQ
Class and Xml : Please see my another article. http://www.cnblogs.com/mingmingruyuedlut/p/3436803.ht ...
- HDU 5919 Sequence II 主席树
Sequence II Problem Description Mr. Frog has an integer sequence of length n, which can be denoted ...
- 数字信号处理实验(一)——DTFT
1.MATLAB自编绘图函数 function [] = signal_write(X,w,flag) % X:数据 % w:频率向量 magX=abs(X);angX=angle(X); realX ...
- Released Mocked Streams for Apache Kafka
Kafka Streams is a deployment-agnostic stream processing library written in Java. Even thoug ...
- loadrunner中变量和参数之间的转化实例
1.变量转换成参数值的两种方法: 方法一: char *test="Agoly"; lr_save_string(test,"testPa"); lr_e ...
- Jmeter测试环境搭建(一)
一.工具描述 Apache JMeter是 100%的java桌面应用程序.它可以被用来测试包括基于静态和动态资源程序的性能,例如静态文件,Java Servlets,Java 对象,数据库,F ...
- Wireshark工具创建过滤器的方式
Wireshark工具创建过滤器的方式 [实例1-3]现在要抓取目的或来源地址为192.168.5.9的封包.在图1.5中添加如下所示的条件: tcp dst port 3128 添加后单击Star ...
- 手持终端打印POS机(安装移动销售开单订货会软件)无线传输到订货会后台销售管理系统
当今的服装市场是品牌竞争时代,产品能否紧随潮流前线并迅速推出市场抢得先机,是品牌成功与否的关键.而订货会是每个鞋服企业新产品走向市场至关重要的开端,订货会如何演绎.成功与否,与品牌在竞争洪流中的命运息 ...