Так что для людей все еще борющихся с этим. Я нашел другой способ сделать это, не используя Safe-Args и шаг, используя ответ @ Elliot's.
Допустим, вы получили несколько аргументов в Деятельности B от Деятельности A, а в вашей Деятельности B есть фрагмент startDestination, который вы инициализируете для контроллера Nav следующим образом:
navController = Navigation.findNavController(this, R.id.detailFragment);
из Nav Controller у вас будет доступ к вашему графику, который вы установили в XML следующим образом, и вы можете установить аргументы в defaultArguments:
navController.getGraph().addDefaultArguments(extras);
Примечание: это также обновит значения ключей, если они уже присутствуют в графе xml
Теперь в вашем Фрагменте вы должны найти аргументы по умолчанию из вашего NavHostFragment, например:
Bundle defaultArguments = NavHostFragment.findNavController(this).getGraph().getDefaultArguments();
и у вас там будут значения. Я не знаю, почему @Elliot считает это важным, но так и должно быть?
ОБНОВЛЕНИЕ альфа09:
Аргумент addDefault больше не поддерживается в этой версии, вы должны использовать NavArgument