2016-03-26 7 views

答えて

0

インターフェイスを使用して同じことを達成できます。

実際にはシナリオに依存しますが、多くのクラスが互いに依存するタイトカップリングの場合は、イベントバスを使用する必要があります。

1つのフラグメントAをホストしているアクティビティがあり、フラグメントAに別のフラグメントBが含まれていて、フラグメントBのボタンをクリックしたときにアクティビティと通信したいとします。インターフェイスを使用することによってクラスが高度に結合されているため、アクティビティからフラグメントAへの実装をフラグメントBに渡す必要があります。

このシナリオでは、イベントバスを使用する方がはるかに簡単です。

アクティビティでは、1つのフラグメントをホストしていて、その2つの間で通信したいという状況を考えてみましょう。この場合、インターフェースは良い選択です。 ここでイベントバスを使用すると、登録されたすべてのインデックスクラスをループしてサブスクライブされたメソッドにポストするので、適切な決定にはなりません。

0

EventBusはAndroidスタジオのライブラリです。あるクラスから別のクラスにメッセージを渡すのはあなたのためだと思います。あなたの質問に答えることを願っています。

+0

私たちは同じインターフェースを使って達成することができますが、2つの方法の間には何がありますか? – CallenChen

関連する問題