2016-03-26 2 views

Antwort

0

Sie können das gleiche über Schnittstellen erreichen.

Es hängt wirklich total vom Szenario ab, im Falle einer engen Kopplung, wo viele Klassen voneinander abhängig sind, sollten Sie Event Bus verwenden.

Nehmen wir an, Sie haben eine Aktivität, die ein Fragment A hostet, und Fragment A enthält ein weiteres Fragment B, und auf Knopfdruck in Fragment B möchten Sie kommunizieren, mit der Aktivität können Sie es tun, durch Verwendung der Schnittstelle, aber die Klassen sind stark gekoppelt und Sie müssen die Implementierung von Activity zu Fragment A zu Fragment B übergeben.

Es wäre viel einfacher, wenn Sie Ereignis Bus in diesem Szenario verwenden.

Nun betrachten Sie eine Situation, in der Aktivität nur ein Fragment hostet und Sie zwischen diesen beiden kommunizieren möchten. In diesem Fall wäre eine Schnittstelle eine gute Wahl. Event Bus hier zu verwenden, wird keine gute Entscheidung sein, da es alle registrierten Indexklassen durchläuft und dann an die abonnierte Methode schreibt.

0

EventBus ist eine Bibliothek im Android Studio. Ich denke, es ist für Sie, eine Nachricht von einer Klasse an eine andere oder mehr Klassen zu übergeben. Hoffe das beantwortet deine Frage.

+0

Wir können das gleiche über die Schnittstelle erreichen, aber was ist die Unterscheidung zwischen zwei Möglichkeiten? – CallenChen

Verwandte Themen