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

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

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);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值