安卓事件处理之监听和回调

来源:互联网 发布:拍淘宝摄影技巧 编辑:程序博客网 时间:2024/05/24 06:07

基于监听事件处理模型的编程思想:

1.获取普通界面组件(事件源),就是获取被监听的对象
2.实现事件监听类,这个类要实现一个XxxListener接口,这个类中放置响应的事件。
3.调用事件源的XxxListener方法将事件监听器对象注册给普通组件(事件源)。
例如对应用中的bn按钮进行设置监听:
首先获取对象bn:

Button bn = (Button) findViewById(R.id.bn);

实现时间的监听器类:

class MyClickListener implements View.OnClickListener{@Override//这里以下就是写响应的事件}

将监听对象注册给普通组件:

bn.setOnClickListener(new MyClickListener());

回调机制和监听机制的区别:

监听机制是委托式的,事件源和监听器是分开的,而回调机制中事件源和监听器是统一的,可以说监听器不再存在!要使用回调机制处理GUI组件上发生的事情,就要为该组件提供事件的处理方法。Java是静态语言,不能为某个对象动态地添加方法(名称)(个人理解就是不能在为组件设置新的回调方法);所以只能去继承GUI组件类,并且重写该类的事件处理方法来实现。

基于回调事件处理:

1.继承GUI组件类,然后重写该类的事件处理方法。以view为例,该类包含了如下的处理方法:

boolen onKeyDown(int keyCode,KeyEvent event);boolen onKeyLongPress(int keyCode,KeyEvent event);boolen onKeyShortcut(int keyCode,KeyEvent event);boolen onKeyonKeyUp(int keyCode,KeyEvent event);boolen onTouchEvent(MotionEvent event);boolen onTrackballEvent(MotionEvent event);
0 0
原创粉丝点击