我在使用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);
}
答案 0 :(得分:0)
如果您的UID对您的活动是全局的,则根本不应该使用Fragment参数。片段可以调用requireActivity().getIntent().getStringExtra("UID")
来从“活动”中检索其他内容。