寻找示例或类似的代码,这些代码需要Swift(iOS)这样的代码:
let navController = UINavigationController(rootViewController: initialView)
并通过新的Navigation组件在Kotlin中进行设置。我已经引用了以下示例,但对我来说却并不完整:
val myNavHostController: NavHostFragment = nav_host_fragment as NavHostFragment
val inflater = myNavHostController.navController.navInflator
val graph = inflater.inflate(R.layout.nav_graph)
myNavHostController.navController.graph = graph
和
val finalHost = NavHostFragment.create(R.navigation.example_graph)
supportFragmentManager.beginTransaction()
.replace(R.id.nav_host, finalHost)
.setPrimaryNavigationFragment(finalHost) // this is the equivalent to app:defaultNavHost="true"
.commit()
看来我遇到的Android示例仍然需要在导航组件创建的XML文件中已经建立活动/片段...但是,如果我希望此功能是动态的,该怎么办?如果我需要根据传入的数据为导航组件设置“主机”活动怎么办?我需要通过代码来完成所有这一切的能力,这就是Swift行正在做的事情(将“ initialView” UIViewController设置为“主机”,其中嵌入了导航控制器)。这些都不是通过情节提要来完成的,这似乎是Android想要我做的,无论如何...
我确定问题是我没有完全了解它在Android中的工作原理,这是我真正想学习的东西。