In Blackberry können wir die keyChar () -Methode überschreiben und das Tastendruckereignis erfassen, oder wir können uns aufKeyPressListener registrieren. Ich weiß, onKeyListener ist Beobachtermuster.
In Android gibt es auch eine KeyEvent.callback und onKeyListener
Beides sind Ereignisse, bei denen wir uns nicht für das keyChar-Ereignis anmelden müssen. Was ist der Unterschied zwischen beiden Mustern?
callback
eine Funktion (oder einen Abschluss oder einen Delegaten) handelt, währendlistener
es sich um ein Objekt einer Klasse handelt, die die entsprechende Listener-Schnittstelle implementiert.Ich nehme an, Sie haben eine Anwendung, die eine Bibliothek verwendet:
Listener: Die Bibliothek führt Code für ihre Daten aus, der jedoch in der Anwendung implementiert ist.
Rückruf: Die Anwendung führt Code für ihre Daten aus, der Code ist jedoch in der Bibliothek implementiert.
Da die Bibliothek die Anwendung nicht sehen kann, gibt es keine Möglichkeit, Listener für diesen Fall zu verwenden.
Natürlich kann die Anwendung die Bibliothek sehen, aber manchmal möchte die Bibliothek den Code verbergen und hilft der Anwendung, damit Sinn zu machen
quelle