コールバックとリスナーの違いは何ですか?


18

blackberryでは、keyChar()メソッドをオーバーライドしてkeypressイベントをキャプチャするか、onKeyPressListenerを登録できます。onKeyListenerはオブザーバーパターンです。

アンドロイドにもKeyEvent.callbackとonKeyListenerがあります

どちらもkeyCharイベントに登録する必要がないイベントです。両方のパターンの違いは何ですか?

回答:


14

ある種のイベントには多くのリスナーが存在できますが、コールバックは1つだけです。


Androidでは、ビューに設定できるOnClickListenerは1つだけです。
ヴィヴァルト

2
「リスナー」の定義が他の製品の定義と一致しない可能性は十分にあります。通常、「setFooBarListener()」メソッドはありませんが、「addFooBarListener()」メソッドはあります。
user281377

3
もう1つの違いcallbackは、関数(またはクロージャーまたはデリゲート)を意味する一方listenerで、対応するListenerインターフェイスを実装するクラスのオブジェクトです。
user281377

Vivart:問題ではありません、とにかく私の答えはそれほど良くありません
-user281377

-5

ライブラリを使用するアプリケーションがあると思います:

リスナー:ライブラリはそのデータに対していくつかのコードを実行しますが、コードはアプリケーションに実装されます。

コールバック:アプリケーションはデータに対していくつかのコードを実行しますが、コードはライブラリに実装されます。

ライブラリはアプリケーションを認識できないため、その場合は代わりにリスナーを使用する方法はありません。

もちろん、アプリケーションはライブラリを見ることができますが、ライブラリはコードを隠したい場合があり、アプリケーションがそれを理解するのに役立ちます

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.