当前位置:操作系统 > 安卓/Android >>

Android事件处理详解

Android事件处理机制有两套:
 
基于监听的事件处理
 
基于回调的事件处理
 
先说一下事件处理的过程,事件处理主要涉及三个主要部分,事件源、事件、事件监听器,下面画个图解释一下他们之间的关系和事件处理的过程:
 
 
下面说说基于监听的事件处理
 
熟悉swing的都知道,这很简单,就是为事件源注册监听者,然后实现监听者接口就哦了
 
实现监听者有四种方法,下面分别说说四种方法的利弊:
 
一、外部类实现监听者
 
利:
 
基本没有
 
弊:
 
1、事件监听器通常属于特定的GUI界面,不利于程序的内聚性
 
2、外部类监听器不能随意访问GUI界面类中的组件,编程不够简洁
 
二、内部类实现监听者
 
利:
 
1、可以在当前类中复用该类
 
2、给类可以随意访问外部类中的组件
 
弊:
 
基本没有
 
三、匿名内部类实现监听者
 
利:
 
大部分时候事件处理器没有复用价值,匿名内部类正好
 
弊:
 
语法有点难度
 
四、Activity本身作为监听者
 
利:
 
基本没有
 
弊:
 
1、Activity本身应只负责界面类的初始化,不要多管闲事,违反单一功能原则
 
2、看着就乱
 
再说说基于回调的事件处理
 
实现方法:要通过自定义View来实现,在自定义View中重写该View的事件处理方法即可
 
例如:自定义MyButton继承自Button,覆盖onKeyDown方法,然后使用MyButton时发生keyDown事件就会调用此方法
 
好处:可以使内聚性更强
 
另外,Android中还可以在xml文件中以标签的形式绑定组件相应的事件处理函数
 
例如:
 
一个按钮<Button android:onClick="clickEvent".../>
 
在相应的Activity中定义clickEvent函数即可
 
好处:方便简洁
补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,