1

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.

Mohamed
  • 656
  • 9
  • 28
Outsmash
  • 77
  • 8

2 Answers2

2

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.
Community
  • 1
  • 1
frogatto
  • 28,539
  • 11
  • 83
  • 129
1

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

vaibhav
  • 816
  • 9
  • 13