android组件的事件处理有2种方式:
1、基于监听器的事件处理方式:先定义组件,然后为组件设定监听器。
详见http://blog.csdn.net/jediael_lu/article/details/11555497
2、基于回调的事件处理方式:让每一个组件继承UI类,并重写该类的事件处理方法。当该组件遇到某事件时,即会触发相应的事件处理方法。
如:
- public class MyButton extends Button{
- public boolean onKeyDown(int keyCode, KeyEvent event){
- //code here
- }
- public boolean onTouch(MotionEvent event){
- //code here
- }
- }
疯狂android讲义:
对于Android 基于盹昕的事件处理而言, 主要做法就是为Android 界面组件拥定特定的事件监昕器, 上一章我们己经见到大量这种事件处理的示例.
对于Android 基于回调的事件处理而吉, 主要做法就是重写Android 组件特定的回调方法,或者重写Activity的回调方法. Android 为绝大部分界面组件都提供了事件响应的回调方法,开发者只要重写它们即可.
一般来说,基于回调的事件处理可用于处理一些具有通用性的事件,基于回调的事件处理代码显得比较简洁.但由于某些特定的事件, 无法使用基于回调的事件处理,只能使用基于监听的事件处理.