¿Cuál es la diferencia entre devoluciones de llamada y oyentes?

18

En blackberry podemos anular el método keyChar () y capturar el evento de pulsación de tecla o podemos registrarnos enKeyPressListener. Lo sé, onKeyListener es un patrón de observador.

En Android también hay un KeyEvent.callback y onKeyListener

Ambos son eventos por los cuales no necesitamos registrarnos para el evento keyChar. ¿Cuál es la diferencia entre ambos patrones?

Vivart
fuente

Respuestas:

14

Puede haber muchos oyentes para algún tipo de evento, pero solo una devolución de llamada.

usuario281377
fuente
En Android, solo podemos configurar un OnClickListener para una vista.
Vivart
2
Es muy posible que su definición de "oyente" no coincida con la de otros productos. Usualmente, no tiene un método "setFooBarListener ()", sino un método "addFooBarListener ()".
user281377
3
Otra distinción podría ser que callbacksignifica una función (o cierre o delegado), mientras que listeneres un objeto de una clase que implementa la interfaz de escucha correspondiente.
user281377
Vivart: no importa, mi respuesta no es tan buena de todos modos
user281377
-5

Supongo que tienes una aplicación que usa una biblioteca:

Oyente: la biblioteca ejecuta algo de código en sus datos, pero el código se implementa en la aplicación.

Devolución de llamada: la aplicación ejecuta algún código en sus datos, sin embargo, el código se implementa en la Biblioteca.

Debido a que la biblioteca no puede ver la aplicación, no hay forma de escuchar en su lugar ese caso.

Por supuesto, la aplicación puede ver la biblioteca, pero a veces la biblioteca quiere ocultar su código y ayuda a que la aplicación tenga sentido.

Conocer
fuente