首页 理论教育 基于监听器实现的事件处理方案

基于监听器实现的事件处理方案

时间:2023-06-30 理论教育 版权反馈
【摘要】:与基于回调的事件处理相比,基于监听器是更具“面向对象”性质的事件处理方式。事件的产生会触发事件监听器,事件本身作为参数传入事件处理器中。事件监听器是通过代码在程序初始化时注册到事件源的,也就是说,在按钮上设置一个可以监听按钮操作的监听器,并且通过这个监听器调用事件处理器,事件处理器里有针对这个事件编写的代码。

基于监听器实现的事件处理方案

与基于回调的事件处理相比,基于监听器是更具“面向对象”性质的事件处理方式。在监听器模型中,主要涉及3类对象:

(1)事件源(event source):产生事件的来源,通常是各种组件,如按钮、窗口等;

(2)事件(event):事件封装了界面组件上发生的特定事件的具体信息,如果监听器需要获取界面组件上所发生事件的相关信息,一般通过事件对象来传递;

(3)事件监听器(event listener):负责监听事件源发生的事件,并对不同的事件做相应的处理。

基于监听器的事件处理机制是一种委派式Delegation的事件处理方式,事件源将整个事件委托给事件监听器,由监听器对事件进行响应处理。这种处理方式将事件源和事件监听器分离,有利于提供程序的可维护性

图5-1显示了委托事件模型的原理。外部的操作(如按下按键、单击触摸屏或转动移动终端等动作)会触发事件源的事件。对于单击按钮的操作来说,事件源就是按钮,它会根据这个操作生成一个按钮按下的事件对象,这对于系统来说,就产生了一个事件。

事件的产生会触发事件监听器,事件本身作为参数传入事件处理器中。事件监听器是通过代码在程序初始化时注册到事件源的,也就是说,在按钮上设置一个可以监听按钮操作的监听器,并且通过这个监听器调用事件处理器,事件处理器里有针对这个事件编写的代码。(www.xing528.com)

基于监听器的事件处理需要完成以下3个工作:

(1)定义监听器,覆盖对应的抽象方法,在监听器中针对事件编写响应的处理代码;

(2)创建监听器对象;

(3)注册监听器。

图5-1 Android事件监听处理机制

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈