яка різниця між зворотними дзвінками та слухачами?


18

У Blackberry ми можемо замінити метод keyChar () та зафіксувати подію keypress або ми можемо зареєструвати onKeyPressListener. я знаю, onKeyListener - це модель спостерігача.

В android також є KeyEvent.callback і onKeyListener

Обидва - це події, тому нам не потрібно реєструватися на keyChar подію. яка різниця між обома візерунками?

Відповіді:


14

Для певного типу подій може бути багато слухачів, але лише один зворотний дзвінок.


В android ми можемо встановити лише один OnClickListener для перегляду.
Vivart

2
Цілком можливо, що їх визначення «слухача» не відповідає визначенню інших продуктів. Зазвичай у вас немає методу "setFooBarListener ()", а методу "addFooBarListener ()".
користувач281377

3
Іншою відмінністю може бути те, що callbackозначає функцію (або закриття чи делегат), в той час listenerяк об'єкт класу, який реалізує відповідний інтерфейс слухача.
користувач281377

Vivart: не має значення, моя відповідь все одно не така хороша
user281377

-5

Я припускаю, що у вас є програма, яка використовує бібліотеку:

Слухач: Бібліотека виконує деякий код на своїх даних, але код реалізований у програмі Application.

Зворотний виклик: додаток виконує деякий код на своїх даних, однак код реалізований у бібліотеці.

Оскільки бібліотека не може бачити додаток, тому немає можливості замість слухача для цього випадку.

Звичайно, програма може бачити бібліотеку, але іноді бібліотека хоче приховати її код і допомагає додатку мати сенс з цим

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.