В blackberry мы можем переопределить метод keyChar () и захватить событие нажатия клавиши, или мы можем зарегистрировать onKeyPressListener. я знаю, onKeyListener это шаблон наблюдателя.
В андроиде также есть KeyEvent.callback и onKeyListener
Оба являются событиями, поэтому нам не нужно регистрироваться на событие keyChar. в чем разница между обоими образцами?
callback
означает функцию (или замыкание или делегат), в то времяlistener
как это объект класса, который реализует соответствующий интерфейс Listener.Я предполагаю, что у вас есть приложение, которое использует библиотеку:
Слушатель: Библиотека запускает некоторый код в своих данных, но код реализован в приложении.
Обратный вызов: приложение выполняет некоторый код на своих данных, однако код реализован в библиотеке.
Поскольку библиотека не может видеть приложение, поэтому нет способа использовать Listener для этого случая.
Конечно, приложение может видеть библиотеку, но иногда библиотека хочет скрыть свой код и помогает приложению разобраться с этим
источник