Ищите примеры или что-нибудь подобное, которое берет код Swift (iOS), подобный этому:
let navController = UINavigationController(rootViewController: initialView)
и устанавливает его в 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-файле, созданном компонентом навигации ... но что, если я хочу, чтобы эта функциональность была динамической?Что если мне нужно установить действие 'host' для компонента nav на основе переданных данных?Мне нужна возможность делать все это с помощью кода, что и делает строка Swift (устанавливая UIiewiewController 'initialView' в качестве 'хоста', в который встроен контроллер навигации).Ничего из этого не делается с помощью раскадровки, что, кажется, то, что Android хочет, чтобы я делал, независимо от ...
Я уверен, что проблема в том, что я не до конца понимаю, как это работает в Android, что я действительно хотел былюблю учиться.