Android 事件处理详解(二) —— 基于回调的事件处理

本文详细介绍了Android中基于回调的事件处理机制,包括回调机制概述,如事件源与事件处理的统一,以及与监听机制的对比。重点讲解了事件传播的过程,强调了回调方法的返回值在事件处理中的作用,并通过示例展示了如何自定义组件并重写回调方法来控制事件传播。最后提到了重写onTouchEvent方法响应触摸屏事件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

前面博主已经介绍了事件处理中的监听机制,现在开始,我们来看看基于回调的事件处理吧。

1.回调机制概述:


对于监听的事件处理模型来说,事件源和事件监听器是分离的,当事件源上发送特定事件之后,该事件交给事件监听器负责处理;
而对于基于回调的事件处理模型来说,事件源和事件监听器是统一的,当事件源发生特定事件之后,该事件还是由事件源本身负责处理的。

1)对比Android提供的这两种事件处理模型,会发现基于监听的事件处理模型更具优势:
基于监听的事件模型分工更明确,事件源、事件监听的两个类分开实现,隐刺具有更好的可维护性。
Android的事件处理机制保证基于监听的事件监听器会被优先触发。

2)为了实现回调机制的事件处理,Android为所有GUI组件提供了一些事件处理的回调方法,以View为例:
View:

  • boolean onKeyDown(int keyCode,KenyEvent enent):当用户在该组件上按下某个键时触发的方法。

  • boolean onKeyLongPress(int keyCode,KeyEvent event):当用户在该组件上长按某个按键时触发的方法。

  • boolean onKeyShortcut(int keyCode,KeyEvent event):当一个键盘快捷键事件触发时 触发的方法。

  • boolean onKeyUp(int keyCode,KeyEvent event):当用户在该组件上松开某个按键

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值