2017-01-03 5 views

Antwort

1

Dies ist ein Problem, das sehr einfach zu handhaben ist, wenn Sie MVP-Design in Ihrem Code folgen.

Lassen Sie mich einige Klassennamen annehmen, da Sie keine erwähnt haben. Nehmen wir an, Sie haben zwei Adapter - adapter1 und adapter2, innerhalb fragment1 und fragment2. Angenommen, die Fragmente werden in der Aktivität MainActivity

hinzugefügt. Sie sollten jetzt Schnittstellen verwenden, die für Rückrufe von Adaptern und Fragmenten implementiert werden. So implementiert Fragment1 die adapter1CallbackInterface und fragment2 implementiert adapter2CallbackInterface. Ähnlich implementiert MainActivity die fragment1CallackInterface. Dies sorgt für die Rückwärtskommunikation. Jetzt haben die Adapter und das Fragment öffentliche Methoden für die Vorwärtskommunikation.

Also, wenn jemand einen Filter in Ihrem adapter1 auswählt, die callflow wäre:

adapter1 ->adapter1CallbackInterface ->fragment1CallbackInterface ->fragment2PublicMethod ->adapter2PublicMethod

Unnötig zu sagen, wenn Die adapter1 und adapter2 sind direkt in Ihrer Aktivität enthalten, die fragment1Callback und fragment2PublicMethod können ignoriert werden

+0

Verwenden Sie benutzerdefinierte Namen, wo immer nötig –

+0

Danke :), Ich versuchte, die benutzerdefinierte Callback-Schnittstelle zu implementieren, aber es gab mir null Zeiger Ausnahme, so fand ich Otto Event-Bus-Bibliothek –

Verwandte Themen