qual é a diferença entre retornos de chamada e ouvintes?

18

No blackberry, podemos substituir o método keyChar () e capturar o evento keypress ou podemos registrar onKeyPressListener. Eu sei, onKeyListener é padrão de observador.

No android também existe um KeyEvent.callback e onKeyListener

Ambos são eventos pelos quais não precisamos nos registrar no evento keyChar. qual é a diferença entre os dois padrões?

Vivart
fonte

Respostas:

14

Pode haver muitos ouvintes para algum tipo de evento, mas apenas um retorno de chamada.

user281377
fonte
No Android, podemos definir apenas um OnClickListener para uma visualização.
Vivart 17/06
2
É bem possível que a definição de "ouvinte" não corresponda à de outros produtos. Geralmente, você não possui um método "setFooBarListener ()", mas um método "addFooBarListener ()".
user281377
3
Outra distinção poderia ser que callbacksignifica uma função (ou fechamento ou delegação), enquanto listeneré um objeto de uma classe que implementa a interface correspondente do Ouvinte.
user281377
Vivart: não importa, minha resposta não é tão boa assim mesmo #
user281377
-5

Suponho que você tenha um aplicativo que use uma biblioteca:

Ouvinte: a biblioteca executa algum código em seus dados, mas o código é implementado no aplicativo.

Retorno de chamada: o aplicativo executa algum código em seus dados; no entanto, o código é implementado na Biblioteca.

Como a biblioteca não pode ver o aplicativo, não há como, em vez disso, o Listener nesse caso.

É claro que o aplicativo pode ver a biblioteca, mas às vezes a biblioteca quer ocultar seu código e ajuda o aplicativo a fazer sentido com ele

Ken
fonte