1. Android提供了两种方式的事件处理:基于回调和基于监听的事件处理; 1.1 对基于监听的事件处理而言,主要做法是为Android界面组件绑定特定的事件监听器; 1.2 对基于回调的事件处理而言,主要是重写Android组件特定的回调方法,或者重写Actvity的回调方法; 一般来说,基于回调的事件可用于处理一些具有通用性的事件,但对于某些特定的事件,只能采用基于监听的事件处理; 2. 基于监听的事件处理 2.1 处理模型:EventSource,Event 和Event Listener。 2.2 事件处理机制是一种委派式事件处理方式:普通组件(事件源)将整个事件处理委托个特定的对象(事件监听器),当该事件源发生指定的事件时,就通知所委派的事件监听器来处理。 2.3 使用规则:确定事件源,创建合适的事件监听器,注册。 2.4 当外部动作在Android组件上进行操作时,系统会自动生成事件对象,同时作为参数被传递给注册到事件源上的事件监听器。 3. 基于回调的事件处理 3.1 对于基于回调的事件处理模型来说,事件源和事件监听器是统一的,当用户在GUI组件上激发某个事件时,组件自己特定的方法将会自动处理该事件。 3.2 基于回调的事件传播:所有基于回调的事件处理方法都有一个boolean类型的返回值,用于标识该处理方法是否能完全处理该事件。 3.3 如果返回ture,表示该处理方法已完全处理该事件,不会传播出去,false反之。 3.4 比较典型的是继承View来重写他的回调方法以实现我们的目的。
|