BottomNavigation с NavController не получает / анализирует аргументы правильно - PullRequest
0 голосов
/ 05 октября 2019

У меня возникли проблемы с получением аргументов во фрагменте с использованием BottomNavigation и NavigationUI. Я получаю нулевое значение после перехода к addOrderFragment (рисунок). У меня нет идей, почему это не работает.

Макет навигации: http://prntscr.com/pf9tl1
Макет активности: http://prntscr.com/pf9u4q
Макет деятельности содержит фрагмент NavHost вчто все остальные макеты раздуты, и навигация в этом сегменте работает нормально.

Основная деятельность

  UID = getIntent().getStringExtra("UID");
    Bundle args = new Bundle();
    args.putString("UID", UID);
    //navigation
    controller = Navigation.findNavController(this, R.id.fragment_container);
    controller.setGraph(R.navigation.navigation_mainmenu, args);
    controller.navigate(R.id.mainMenuFragment, args);
    bottomNav = findViewById(R.id.bottom_navigation);
    NavigationUI.setupWithNavController(bottomNav, controller);

Получение UID из другого фрагмента после перехода к нему

 controller = Navigation.findNavController(view);
        try {
            UID = getArguments().getString("UID"); <---gets null 
        } catch (Exception e) {
            Crashlytics.logException(e);
        }

1 Ответ

0 голосов
/ 05 октября 2019

Если ваш UID является глобальным для вашей деятельности, вам не следует использовать аргументы Fragment вообще. Фрагменты могут вызывать requireActivity().getIntent().getStringExtra("UID") для получения дополнительных данных из действия.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...