我一直在关注Navigation Architecture Component的文档,以了解这个新导航系统的工作原理。
要从一个屏幕返回/返回另一个屏幕,您需要一个实现NavHost
接口的组件。
NavHost 是一个空视图,当用户在您的应用程序中导航时,目的地会被换入和换出。
但是,目前似乎只有 Fragments 实现NavHost
导航架构组件的默认 NavHost 实现是 NavHostFragment。
所以,我的问题是:
即使我有一个可以用 a 实现的非常简单的屏幕,
Activity
为了使用这个新的导航系统,Fragment
是否需要托管包含实际视图的 a?会在不久的将来
Activity
实现接口吗?NavHost
- 更新 -
根据 ianhanniballake 的回答,我知道每个活动都包含自己的导航图。startActivity
但是,如果我想使用导航组件(替换“旧”调用)从一项活动转到另一项活动,我可以使用activity destinations
. 我activity destinations
不清楚什么,因为迁移文档没有详细说明:
然后可以通过将活动目的地添加到导航图来链接单独的活动,从而替换整个代码库中 startActivity() 的现有用法。
- 使用
ActivityNavigator
而不是有什么好处startActivity
吗? - 使用导航组件时,从活动中走出来的正确方法是什么?