Как предать boolean параметр в NavController?
Есть вот такой метод в активити который открывает фрагмент по Uri
...
fun navigate(uri: Uri, savedInstanceState: Bundle?) {
with(supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment) {
val authGraph: NavGraph = navController.navInflater.inflate(R.navigation.auth_nav_graph)
maybeSetIapNavGraphs(navHostFragment.navController, authGraph)
navController.graph = authGraph
if (savedInstanceState == null) {
navController.popBackStack()
navController.navigate(uri)
}
}
}
...
Мне нужно передать boolean фрагменту который будет открываться. Судя по параметрам которые принимает navigate в паре с Uri может быть только NavOptions, но NavOptions не принимает Bundle.
Вопрос, как передать boolean в этом случае?
UPD
Я попробовал еще вот так
...
fun navigate(uri: Uri, savedInstanceState: Bundle?) {
with(supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment) {
val authGraph: NavGraph = navController.navInflater.inflate(R.navigation.auth_nav_graph)
maybeSetIapNavGraphs(navHostFragment.navController, authGraph)
val bundle = Bundle().apply { putInt("isEnabled", 1) }
navController.setGraph(authGraph, bundle)
if (savedInstanceState == null) {
navController.popBackStack()
navController.navigate(uri)
}
}
}
...
Но когда я пробую получить это значение во фрагменте
val arg1Value = requireArguments().getInt("isEnabled")
я получаю 0