In several of the previous recipes, it was mentioned that you should call the addToBackStack() method in the Fragment transaction to enable Android to maintain a Fragment back stack. This is the first step, but may not be enough to provide a rich user experience. In this recipe, we'll explore two other callbacks: onBackPressed() and onBackStackChanged(). As you'll see, by implementing these callbacks, your application can provide specific behavior for the Fragment back stack. The onBackPressed() callback allows the app to check the back stack state and provide custom behavior, such as closing the app when appropriate.
The onBackStackChanged() callback is called whenever the actual back stack changes - such as when a Fragment is popped from the back stack. By overriding this callback, your app can check the current...