Android的事件处理

来源:互联网 发布:java非法字符65279 编辑:程序博客网 时间:2024/06/12 01:16

Android中两种事件处理机制:基于监听的事件处理和基于回调的事件处理。

一、基于监听的事件处理

主要涉及三类模型:Event Source、Event、Event Listener。

Android中的事件处理机制是一种委派式的事件处理方式。

基于监听的事件处理模型的编程步骤如下:
1、获取事件源,即被监听的对象;

2、实现一个事件监听器类,该类是一个特殊的Java类,必须实现一个XxxListener接口;

3、调用事件源的setXxxListener方法将事件监听器对象注册给事件源。

其中,事件源最容易创建,事件的产生无须程序员担心,由系统自动产生,实现事件监听器是整个事件处理的核心;

在程序中实现事件监听器有以下几种方式:内部类形式、外部类形式、Activity本身作为事件监听器类以及匿名内部类形式;通常建议使用匿名内部类作为事件监听器类。Android中还有一种更简单的绑定事件监听器的方式:直接在界面布局文件中为指定标签绑定事件处理方法(onClick);

二、基于回调的事件处理

如果说事件监听机制是委托式的,那么回调机制则刚好相反。对于回调的事件处理模型来说,事件源和事件监听器是统一的,当事件源发生特定事件时,该事件还是由事件源本身负责处理;

1.基于回调的事件传播

几乎所有的基于回调的事件处理方法都有一个boolean类型的返回值,该返回值用于标识该处理方法是否能完全处理该事件:
1.如果返回true,则表明该处理方法已完全处理了该事件,该事件不会被传播出去。
2.如果返回false,表明该处理方法未完全处理该事件,该事件会传播出去。
    对于基于回调的事件处理传播而言,某组件上所发生的事情不仅激发该组件上的回调方法,也会触发该组件所在的Activity的回调方法——只要事件能传播到该Activity。


1 0
原创粉丝点击