带有NavController的BottomNavigation无法正确检索/解析参数

问题描述 投票:0回答:1

我在使用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);
        }
android bottomnavigationview navigationcontroller
1个回答
0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.