NavControllers
依靠一个或多个 Navigator
对象执行导航操作。默认情况下,所有 NavControllers
都支持通过使用 ActivityNavigator
类及其嵌套的 ActivityNavigator.Destination
类导航到另一 activity,离开导航图。为了能够导航到任何其他类型的目的地,必须向 NavController
添加一个或多个其他 Navigator
对象。例如,将 fragment 用作目的地时,NavHostFragment
会自动将 FragmentNavigator
类添加到其 NavController
中。
如需将新的 Navigator
对象添加到 NavController
,您必须使用相应的 NavController
类的 getNavigatorProvider()
方法,然后使用该类的 addNavigator()
方法。以下代码展示了向 NavController
添加虚构的 CustomNavigator
对象的示例:
Kotlin
val customNavigator = CustomNavigator() navController.navigatorProvider += customNavigator
Java
CustomNavigator customNavigator = new CustomNavigator(); navController.getNavigatorProvider().addNavigator(customNavigator);
大多数 Navigator
类具有嵌套的目的地子类。该子类可用于指定专属于您的目的地的其他属性。如需详细了解目的地子类,请参阅相应 Navigator
类的参考文档。
其他资源
如需详细了解 Navigation,请参阅下面列出的其他资源: