【发布时间】:2020-04-22 09:04:29
【问题描述】:
我一直在关注Navigation Architecture Component 的文档,以了解这个新导航系统的工作原理。
要从一个屏幕返回/返回另一个屏幕,您需要一个实现NavHost 接口的组件。
NavHost 是一个空视图,目的地被交换并 在用户浏览您的应用时退出。
但是,目前似乎只有 Fragments 实现了NavHost
导航架构组件的默认 NavHost 实现是 NavHostFragment。
所以,我的问题是:
即使我有一个可以用
Activity实现的非常简单的屏幕,为了使用这个新的导航系统,是否需要托管一个包含实际视图的Fragment?Activity会在不久的将来实现NavHost接口吗?
--已更新--
根据 ianhanniballake 的回答,我了解每个活动都包含自己的导航图。但是如果我想使用导航组件从一个活动转到另一个活动(替换“旧”startActivity 调用),我可以使用activity destinations。 activity destinations 是什么我不清楚,因为 docs for migration 没有详细说明:
然后可以通过将活动目的地添加到导航图来链接单独的活动,替换整个代码库中 startActivity() 的现有用法。
- 使用
ActivityNavigator代替startActivity有什么好处吗? - 使用导航组件时,从活动中走出来的正确方法是什么?
【问题讨论】:
-
Google 现在建议每个应用使用一个 Activity,所以我不确定它们是否会阻碍来自 Activity 的 NavHost
-
是的,我知道,但大多数应用程序都是使用多个活动实现的。因此,从一种实现完全转移到另一种实现需要时间。因此,架设这座桥梁可能有助于过渡。
标签: android android-architecture-navigation