Android Navigation 组件:动态添加片段到图形

use*_*681 8 navigation android fragment

我有一个关于使用导航架构组件的问题。我已经为我的应用程序定义了一个导航图,它运行良好,但我需要使用框架 SDK。该框架处理一些深层链接并在回调中返回片段。到目前为止,我使用 fragmentManager 添加这些片段,但我决定在新应用程序中使用导航组件。有没有办法在得到这个片段后将它添加到图中?

小智 0

// 这是工作示例 SecondFragment 未在 //my_nav_host_fragment 中注册

 val navHostFragment = requireActivity().supportFragmentManager
            .findFragmentById(R.id.my_nav_host_fragment) as NavHostFragment
        val navController = navHostFragment.navController
        //navController.navigatorProvider
        val fragmentNavigator =
            navController.navigatorProvider.navigators.get("fragment") as FragmentNavigator
        
        val fragmentNavDest = FragmentNavigatorDestinationBuilder(
            fragmentNavigator,
            "SecondFragment",
            SecondFragment::class
        ).build()
        
        navController.graph.addDestination(fragmentNavDest)
        navController.navigate("SecondFragment")
Run Code Online (Sandbox Code Playgroud)