qual è la differenza tra callback e listener?


18

In blackberry possiamo sovrascrivere il metodo keyChar () e catturare l'evento keypress oppure possiamo registrarci suKeyPressListener. lo so, onKeyListener è un modello di osservatore.

In Android c'è anche un KeyEvent.callback e onKeyListener

Entrambi sono eventi per cui non è necessario registrarsi per l'evento keyChar. qual'è la differenza tra both pattern?

Risposte:


14

Possono esserci molti ascoltatori per un certo tipo di evento, ma solo un callback.


In Android possiamo impostare un solo OnClickListener per una vista.
Vivart,

2
È del tutto possibile che la loro definizione di "ascoltatore" non corrisponda a quella di altri prodotti. Di solito, non hai un metodo "setFooBarListener ()", ma un metodo "addFooBarListener ()".
user281377,

3
Un'altra distinzione potrebbe essere quella che callbacksignifica una funzione (o chiusura o delegato), mentre listenerè un oggetto di una classe che implementa la corrispondente interfaccia di Listener.
user281377,

Vivart: non importa, la mia risposta non è comunque buona
user281377

-5

Suppongo che tu abbia un'applicazione che utilizza una libreria:

Listener: la libreria esegue del codice sui suoi dati, ma il codice è implementato sull'applicazione.

Richiamata: l'applicazione esegue del codice sui suoi dati, tuttavia, il codice è implementato nella libreria.

Perché la libreria non può vedere l'applicazione, quindi non c'è modo di ascoltare Listener in quel caso.

Ovviamente l'applicazione può vedere la libreria, ma a volte la libreria vuole nascondere il suo codice e aiuta l'applicazione a dare un senso a ciò

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.