Search code examples
androidottoevent-bus

Android - Is it correct to use Event Buses (like Otto) for UI elements communication?


Can I (is it correct to) use an event bus to communicate between UI views? For exemple, use it to communicate between Fragments instead of implementing a listener?

Can I use the same instance of the bus for more than one operation?

Thank you


Solution

  • Yes.

    Otto was built exactly for that reason: to help you communicate fragments and activities aside without the need of serializing everything through Intents.

    Also, for the instance question: You can reuse the bus wherever you want to. Sometimes, though, you would prefer to create different buses to separate groups of classes communicating: for example, in an MVP architecture, you would have a bus for each M-V-P group, or in another example, a bus for communicating with a specific service that is always running, etc.

    This is a good example on how to use the library.