Open mirjalal opened 5 years ago
Sorry, I'm too late 🙇
I guess, NavGraph instance passing the argument is different from the NavGraph instance getting the argument.
In this sample, If you pass arguments with HomeContainerFragment
, please try below.
(childFragmentManager.findFragmentById(R.id.nav_host_fragment) as? NavHostFragment)?.navController?.let { navController ->
val data2Pass = 4
navController.graph.addArgument("bundle_name", NavArgument.Builder().setDefaultValue(data2Pass).build())
}
Nice approach to gain the functionality. I want to test this approach for my case, however I didn't succeed. I followed all steps carefully (but it does not mean I did not miss something, of course) to adopt it to app. In my case, I wanted to pass this step:
When I tried to handle that value in fragment, it throws NPE:
val passedData = (findNavController().graph.arguments["bundle_name"]?.defaultValue) as Int // <-- NPE
Do you have any suggestion to handle this issue?