基于监听的事件处理:
通过实现View类中内部接口来监听事件。“实现”是指通过View实例的setOnXXXListener()方法,将内部接口实例与View实例联系起来。View中内部接口如下:
|
基于回调的事件处理:
View类继承了 KeyEvent.Callback等接口,获得了接口定义的抽象方法。事件发生时就可以回调码农实现的、事件对应的方法了。
KeyEvent.Callback类型是public static interface
Public Methods | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
abstract boolean |
onKeyDown(int keyCode,
KeyEvent event)
Called when a key down event has occurred.
| |||||||||||
abstract boolean |
onKeyLongPress(int keyCode,
KeyEvent event)
Called when a long press has occurred.
| |||||||||||
abstract boolean |
onKeyMultiple(int keyCode, int count,
KeyEvent event)
Called when multiple down/up pairs of the same key have occurred in a row.
| |||||||||||
abstract boolean |
onKeyUp(int keyCode,
KeyEvent event)
Called when a key up event has occurred.
|
1、以view为例,通过这种方式,Android为GUI组件提供了事件处理的回调方法。
2、由于Java是静态语言,所以无法为某个对象动态的添加方法,所以只能继承GUI组件类,并重写该类的事件处理方法。