基于监听的事件处理:
通过实现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组件类,并重写该类的事件处理方法。
本文深入探讨了Android GUI组件事件处理机制,详细介绍了基于回调和监听的事件处理方式,包括如何通过实现View类中内部接口来监听事件,以及如何通过继承并重写接口方法来响应事件。同时,文章解释了Java静态语言特性限制了动态添加方法的可能性,着重于事件回调方法的使用。
9536

被折叠的 条评论
为什么被折叠?



