Passing data between Fragments
Often, the need arises to pass information between the Fragments. An email application serves as a classic example. It's common to have the list of emails in one Fragment, and show the email details in another Fragment (this is commonly referred to as a Master/Detail pattern). Fragments make creating this pattern easier because we only have to code each Fragment once, then we can include them in different layouts. We can easily have a single Fragment in a portrait layout with the ability to swap out the master Fragment with the detail Fragment when an email is selected. We can also create a two-panel layout where both the list and detail Fragments are side-by-side. Either way, when the user clicks the email in the list, the email opens up in the detail panel. This is when we need to communicate between two Fragments.
Since one of the primary goals of Fragments is that they be completely self-contained, direct communication between Fragments is discouraged, and...