Outsmash
Outsmash

Reputation: 77

Communicating between more than 2 fragments

I have an activity with three fragments in it, This is how I communicate between the three fragments:

First I display only FragmentA in ActivityA. Based on a RadioButtonSelection, I add the corresponding FragmentB (two layouts available) and a FragmentC. If input in FragmentB is changed String, then FragmentC's views change but if the RadioButton choice in FragmentA changes then I remove FragmentB and FragmentC and add them again corresponding to input from FragmentA.

Now, I've implemented a communicator interface in FragmentA and another in FragmentB. It looks quite messy. How can I implement a single interface to communicate between the three of them and the activity?

Thanks.

Upvotes: 1

Views: 770

Answers (2)

frogatto
frogatto

Reputation: 29285

In such circumstances in which multiple fragments and activities want to communicate with each other, two options come in mind.

  • Java Interfaces - Only one activity and one or more fragments. Each fragment should implement its own interface. Activity is also used for a shared channel among them. Recommended

enter image description here Image source: https://stackoverflow.com/a/24083101/1841194

  • Local broadcasts - Can be used among multiple activities and services. This also can be used for communicating between fragments.

Upvotes: 2

vaibhav
vaibhav

Reputation: 816

I would also recommend implementing an interface. Here is a good blog post guiding about Inter fragment communication. If you do not want to implement interface then you can use Eventbus. A good library for that would be Otto

Upvotes: 1

Related Questions