Sometimes fragments need extra information to work properly.
If a fragment shows details of a contact, for example, it needs to know which contact to display. But what if this information comes from another fragment? In this chapter, you’ll build on your navigation know-how by learning how to pass data between fragments. You’ll find out how to add arguments to navigation destinations so they can receive the information they need. You’ll meet the Safe Args plug-in, and learn how to use it to write type-safe code. Finally, you’ll discover how to manipulate the back stack, and take control of back button behavior. Read on—there’s no going back…
The Secret Message app navigates between fragments
In the previous chapter, you learned how to use the Navigation component to navigate between two fragments. You used this knowledge to build the first half of the Secret Message app: an app that takes a message the user enters, and encrypts it.
The current version of the app uses a fragment named WelcomeFragment to display some introductory text. When the user clicks on its Start button, the fragment navigates to a second fragment named MessageFragment.
MessageFragment includes an edit text that lets the user enter her message. It also features a Next button, which the user clicks on to encrypt the message.
Here’s a reminder of what the app currently ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month, and much more.
O’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
I wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
I’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
I'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.