使用NavController的BottomNavigation无法正确检索/解析参数

时间:2019-10-05 16:34:30

标签: android bottomnavigationview navigationcontroller

我在使用BottomNavigation和NavigationUI检索Fragment中的参数时遇到了一些麻烦。我导航到addOrderFragment(picture)后检索空值。我不知道为什么这行不通。

导航布局: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 :(得分:0)

如果您的UID对您的活动是全局的,则根本不应该使用Fragment参数。片段可以调用requireActivity().getIntent().getStringExtra("UID")来从“活动”中检索其他内容。