Android基于回调的事件处理

摘要:不管是桌面应用还是手机应用,面对最多的就是用户,经常需要处理的就是用户动作–也就是需要为用户动作提供响应。这种为用户动作提供响应的机制就是事件处理。 Android提供了强大的事件处理机制,包括两套事件处理机制: **–>基于监听的事件处理 –>基于回调的事件处理** 基于监听的事件处理平时用的比较多,比较熟悉了,这里记录一下我不熟悉的基于回调的事件处理。 对于基于回调的事件处理模型来说,事件源和事件监听器是统一的,或者说事件监听器完全消失了。当用户在GUI组件上激发某个事件时,组件自己特定的方法将会负责处理该事件。 基于回调的事件处理机制可通过自定义View类来实现,自定义View时重写该View的事件处理方法即可。下面是一个自定义按钮的实现类。

{public MyButton(Context context , AttributeSet set){super(context , set);}(int keyCode , KeyEvent event){super.onKeyDown(keyCode , event);Log.v(“—-” , “基于回调的实例”);return true;}}

在我们自定义的Button中,,重写了onKayDown方法,该方法会负责处理按钮上的键盘事件。 在xml文件中使用MyButton组件时:

<android:layout_height=”wrap_content”…./>

com.caiyun.MyButton是MyButton类完整的类名。使用自定义的类时,都要用完整的类名哦! 这样定义之后,无需在java程序中为按钮绑定监听器–因为按钮自己重写了onKeyDown(int keyCode , keyEvent event)方法,这以为着按钮将会自己处理相应的事件。 小结:对于监听的事件处理模型来说,事件源和事件监听器是分离的,当事件源上发生特定的事件之后,该事件交给事件监听器负责处理;对于基于回调的事件处理来说,事件源和事件监听器是统一的,当事件源发生特定的事件后,该事件还是由事件本身负责处理。

你会发现,曾经以为很难做到的事情,

Android基于回调的事件处理

相关文章:

你感兴趣的文章:

标签云: