问题
I'm learning android development and the navigation component, trying to link multiple activities as the document had written. But it seems like it's impossible to create action between two activities to a single navigation graph which was reasonable to me as the document had written.
The NavController and its navigation graph is contained within a single activity. Therefore, when migrating an existing project to use the Navigation Architecture Component, focus on migrating one Activity at a time by creating a navigation graph for the destinations within each Activity.
So the question is what does the following sentence mean? I could add multiple activities to one navigation graph but couldn't add a link(action) between them.
Separate Activities can then be linked by adding activity destinations to the navigation graph, replacing existing usages of startActivity() throughout the code base.
回答1:
Since each NavController and navigation graph is contained within a single activity, an <activity>
destination is an exit point from that graph - once you use navigate(R.id.your_activity_destination)
to go to the next activity, that NavController and graph is no longer active (it is on the activity on the back stack, not the newly launched activity).
On your second Activity, you would have a second navigation graph with any additional <activity>
outbound destinations to go to further activities.
来源:https://stackoverflow.com/questions/53717028/how-do-i-link-multiple-activities-in-android-navigation-editor