При использовании NavigationUI.setupWithNavController(bottom_navigation_view,navController)
(или, если вы используете navigation-ui-ktx
расширение Kotlin bottom_navigation_view.setupWithNavController(navController)
), вы не можете передавать какие-либо настраиваемые аргументы адресатам - важной частью глобальной навигации является то, что они всегда берут васна тот же экран в том же состоянии.
Как правило, вы должны хранить данные, такие как текущая сумма, отдельно от аргументов навигации - будь то в постоянной базе данных, SharedPreferences или в каком-то другом месте, которое могло бы пережить смерть процесса, позволяя пользователям продолжать то, что они делают, даже после перезагрузки телефона и т. д.
Однако, если для этого необходимо использовать аргументы навигации, вы можете заранее установить аргумент по умолчанию для пункта назначения (т. е.всякий раз, когда ваша сумма изменяется):
NavDestination orderDestination = navController.graph.findNode(R.id.destination_order)
orderDestination.addArgument("amount", NavArgument.Builder()
.setType(NavType.FloatType)
.setDefaultValue(amount)
.build())
Впоследствии ваш BottomNavigationView
триггер R.id.destination_order
автоматически включит этот аргумент вместе с вашим новым значением amount
по умолчанию.