回调和侦听器有什么区别?


18

在Blackberry中,我们可以重写keyChar()方法并捕获keypress事件,也可以注册onKeyPressListener。我知道,onKeyListener是观察者模式。

在android中也有一个KeyEvent.callback和onKeyListener

这两个都是为什么我们不需要注册keyChar事件的事件。两种模式有什么区别?

Answers:


14

某种事件类型可以有很多侦听器,但只有一个回调。


在android中,我们只能将一个OnClickListener设置为一个视图。
维瓦尔特2011年

2
他们对“侦听器”的定义很可能与其他产品的定义不匹配。通常,您没有“ setFooBarListener()”方法,但是没有“ addFooBarListener()”方法。
user281377 2011年

3
另一个区别可能是callback意味着一个函数(或闭包或委托),而这listener是一个实现相应侦听器接口的类的对象。
user281377 2011年

Vivart:没关系,无论如何我的回答都不是很好
user281377 2011年

-5

我想您有一个使用库的应用程序:

侦听器:库在其数据上运行一些代码,但是该代码在Application上实现。

回调:应用程序在其数据上运行一些代码,但是该代码在Library上实现。

因为库看不到该应用程序,所以在这种情况下无法替代Listener。

当然,应用程序可以看到该库,但是有时库希望隐藏其代码,并帮助应用程序理解它

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.