Jaka jest różnica między wywołaniami zwrotnymi a słuchaczami?

18

W Blackberry możemy przesłonić metodę keyChar () i przechwycić zdarzenie keypress lub zarejestrować się na KeyKressListener. wiem, onKeyListener jest wzorem obserwatora.

W Androidzie jest też KeyEvent.callback i onKeyListener

Oba są wydarzeniami, dla których nie musimy rejestrować się na zdarzenie keyChar. jaka jest różnica między obydwoma wzorami?

Vivart
źródło

Odpowiedzi:

14

Może być wielu słuchaczy dla pewnego rodzaju zdarzenia, ale tylko jedno wywołanie zwrotne.

użytkownik 281377
źródło
W Androidzie możemy ustawić tylko jeden OnClickListener na widok.
Vivart,
2
Całkiem możliwe, że ich definicja „słuchacza” nie zgadza się z definicją innych produktów. Zwykle nie masz metody „setFooBarListener ()”, ale metoda „addFooBarListener ()”.
user281377,
3
Innym rozróżnieniem może być callbackfunkcja (lub zamknięcie lub delegowanie), podczas gdy listenerjest to obiekt klasy, która implementuje odpowiedni interfejs Listenera.
user281377,
Vivart: nieważne, moja odpowiedź i tak nie jest zbyt dobra
281377
-5

Przypuszczam, że masz aplikację korzystającą z biblioteki:

Odbiornik: Biblioteka uruchamia trochę kodu na swoich danych, ale kod jest implementowany w aplikacji.

Oddzwonienie: Aplikacja uruchamia trochę kodu na swoich danych, jednak kod jest implementowany w bibliotece.

Ponieważ biblioteka nie może zobaczyć aplikacji, więc nie ma sposobu, aby zamiast tego Listener dla tego przypadku.

Oczywiście Aplikacja widzi bibliotekę, ale czasami biblioteka chce ukryć swój kod i pomaga aplikacji nadać jej sens

Rozpoznać
źródło