第4章 Android事件处理-【千锋教育】Android从入门到精通
2023-03-21
|
31页
|
261人阅读
|
0人下载
教辅
内容正文:
第4章 Android事件处理
基于监听的事件处理
基于回调的事件处理
响应系统设置的事件
Handler消息传递机制
掌握基于监听的事件处理
掌握Handler消息传递机制
掌握基于回调的事件处理
掌握响应系统设置的事件
学 习 目 标
LEARNING OBJECTIVES
初心至善 匠心育人
4.1
基于监听的
事件处理
4.1.1
事件监听的处理模型
4.1.2
创建监听器的集中形式举例
4.1.3
在标签中绑定事件处理器
目录
Contents
初心至善 匠心育人
4.1 基于监听的事件处理
4.1.1 事件监听的处理模型
在事件监听的处理模型中,主要涉及三类对象:
Event Source(事件源):一般指各个组件。
Event(事件):一般是指用户操作,该事件封装了界面组件上发生的各种特定事件。
Event Listener(事件监听器):负责监听事件源所发生的事件,并对该事件做出响应。
实际上,事件响应的动作就是一组程序语句,通常以方法的形式组织起来。Android利用的是Java语言开发,其面向对象的本质没有改变,所以方法必须依附于类中才可以使用。而事件监听器的核心就是它所包含的方法,这些方法也被称为事件处理器(Event Handler)。
初心至善 匠心育人
4.1.1 事件监听的处理模型
事件监听的处理模型可以这样描述:当用户在程序界面操作时,会激发一个相应的事件,该事件就会触犯事件源上注册事件监听器,事件监听器再调用对应的事件处理器做出相应的反应。
Android的事件处理机制采用了一种委派式的事件处理方式:普通组件(事件源)将整个事件处理委派给特定的对象(事件监听器),当该组件发生指定的事件时,就通知所委托的事件监听器,由该事件监听器处理该事件。该流程如图所示。
4.1 基于监听的事件处理
初心至善 匠心育人
4.1.1 事件监听的处理模型
这种委派式的处理方式很类似于人类社会的分工合作。举一个简单例子,当人们想邮寄一份快递(事件源)时,通常是将该快递交给快递点(事件监听器)来处理,再由快递点通知物流公司(事件处理器)运送快递,而快递点也会监听多个物流公司的快递,进而通知不同的物流公司。这种处理方式将事件源与事件监听器分离,从而提供更好的程序模型,有利于提高程序的可维护性。
基于上面程序可以总结出基于监听的事件处理模型的编程步骤:
(1)获取要被监听的组件(事件源)。
(2)实现事件监听器类,该类是一个特殊的Java类,必须实现一个XxxListener接口。
(3)调用事件源的setXxxListener方法将事件监听器对象注册给事件源。
4.1 基于监听的事件处理
初心至善 匠心育人
4.1.1 事件监听的处理模型
当用户操作应用界面,触发事件源上指定的事件时,Android会触发事件监听器,然后由该事件监听器调用指定的方法(事件处理器)来处理事件。
实际上,对于上述三个步骤,最关键的步骤是实现事件监听器类。实现事件监听器其实就是实现了特定接口的Java类实例,在程序中实现事件监听器,通常有如下几种形式。
内部类形式:将事件监听器类定义成当前类的内部类。
外部类形式:将事件监听器类定义成一个外部类。
Activity本身作为事件监听器类:让Activity本身实现监听器接口,并实现事件处理方法。
匿名内部类形式:使用匿名内部类创建事件监听器对象。
4.1 基于监听的事件处理
初心至善 匠心育人
4.1.2 创建监听器的几种形式举例
外部类形式创建监听器。
4.1 基于监听的事件处理
初心至善 匠心育人
4.1.2 创建监听器的几种形式举例
上面的事件监听器类实现了View.OnClickListener接口,创建该监听器时需要穿入一个Activity和一个TextView,来看具体Java代码:
上面程序第10行,用于给按钮的单击事件绑定监听器,当用户单击按钮时,就会触发监听器BtnClickListener,从而执行监听器里面的方法。
4.1 基于监听的事件处理
初心至善 匠心育人
4.1.2 创建监听器的几种形式举例
外部类形式的监听器基本就是这样实现,专门定义一个外部类用于实现事件监听类接口作为事件监听器,之后在对应的组件中注册该监听器。
Activity本身作为事件监听器类。
4.1 基于监听的事件处理
初心至善 匠心育人
4.1.2 创建监听器的几种形式举例
上面程序中Activity直接实现了View.OnClickListener接口,从而可以直接在该Activity中定onClick(View v)。当为某个组件添加该事件监听器的时候,直接使用this关键字作为事件监听器即可。
4.1 基于监听的事件处理
初心至善 匠心育人
4.1.2 创建监听器的几种形式举
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。