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