private lateinit var navView: BottomNavigationView
private lateinit var navController: NavController
val navHostFragment = supportFragmentManager.findFragmentById(R.id.navHostFragmentActivityMain) as NavHostFragment?
val inflater = navHostFragment!!.navController.navInflater
val graph = inflater.inflate(R.navigation.bottom_navigation)
navController = navHostFragment.navController
val navArgument1= NavArgument.Builder().setDefaultValue(email).build()
val navArgument2= NavArgument.Builder().setDefaultValue(jwt).build()
graph.addArgument("email",navArgument1)
graph.addArgument("jwt",navArgument2)
navHostFragment.navController.graph = graph
navView.setupWithNavController(navController)
navView.setOnItemSelectedListener { item ->
when (item.itemId) {
R.id.home -> {
navController.findDestination(R.id.home)!!.addArgument("email", NavArgument.Builder()
.setDefaultValue(email)
.build())
}
R.id.deliver -> {
navController.findDestination(R.id.userDelivery)!!.addArgument("email", NavArgument.Builder()
.setDefaultValue(email)
.build())
navController.findDestination(R.id.userDelivery)!!.addArgument("jwt", NavArgument.Builder()
.setDefaultValue(jwt)
.build())
navController.navigate(R.id.userDelivery)
}
}
Теперь во всех строках navController.findDestination будет отображаться ошибка. NavController.findDestination можно вызвать только из той же группы библиотек
Что здесь следует изменить?
Мой код ниже работал до того, как я обновился до последней версии androidx.navigation:navigation и Safeargs [code]private lateinit var navView: BottomNavigationView private lateinit var navController: NavController val navHostFragment = supportFragmentManager.findFragmentById(R.id.navHostFragmentActivityMain) as NavHostFragment? val inflater = navHostFragment!!.navController.navInflater val graph = inflater.inflate(R.navigation.bottom_navigation)
navController = navHostFragment.navController val navArgument1= NavArgument.Builder().setDefaultValue(email).build() val navArgument2= NavArgument.Builder().setDefaultValue(jwt).build() graph.addArgument("email",navArgument1) graph.addArgument("jwt",navArgument2) navHostFragment.navController.graph = graph navView.setupWithNavController(navController)
[/code] Теперь во всех строках navController.findDestination будет отображаться ошибка. NavController.findDestination можно вызвать только из той же группы библиотек Что здесь следует изменить?