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?

Odpowiedzi:


14

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


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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.