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