论坛
门户
内部优惠
喜欢
话题
VIP会员
搜索
新浪微博
登录
注册
100%
100%
首页
>
软件开发
>
Android开发
>
Android事件处理详解
回复
« 返回列表
灯火互联
管理员
注册日期
2011-07-27
发帖数
41778
QQ
火币
41290枚
粉丝
1086
关注
100
加关注
写私信
打招呼
阅读:
2926
回复:
0
Android事件处理详解
楼主
#
更多
只看楼主
倒序阅读
发布于:2013-01-10 15:40
保存
100%
100%
[]
1
Android事件处理机制有两套:
基于监听的事件处理
基于回调的事件处理
先说一下事件处理的过程,事件处理主要涉及三个主要部分,事件源、事件、事件监听器,下面画个图解释一下他们之间的关系和事件处理的过程:
图片:20130110091555338.jpg
下面说说基于监听的事件处理
熟悉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函数即可
好处:方便简洁
喜欢
0
评分
0
最新喜欢:
淘宝天猫隐藏优惠券地址
回复
100%
发帖
回复
« 返回列表
普通帖
您需要登录后才可以回帖,
登录
或者
注册
100%
返回顶部
关闭
最新喜欢