NavControllers依赖一个或多个Navigator对象来执行导航操作。 默认情况下,所有NavControllers都支持使用ActivityNavigator类及其嵌套的ActivityNavigator.Destination类导航到另一个活动而离开导航图。 为了能够导航到任何其他类型的目标,必须将一个或多个其他Navigator对象添加到NavController。 例如,当使用片段作为目标时,NavHostFragment会自动将FragmentNavigator类添加到其NavController中。
要将新的Navigator对象添加到NavController,必须使用相应的Navigator类的getNavigatorProvider()
方法,然后使用类的addNavigator()
方法。 以下代码显示了将虚构的CustomNavigator对象添加到NavController的示例:
CustomNavigator customNavigator = new CustomNavigator();
navController.getNavigatorProvider().addNavigator(customNavigator);
大多数Navigator类都有一个嵌套的目标子类。 此子类可用于指定目标所特有的其他属性。
网友评论