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函数即可

好处:方便简洁

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值