【发布时间】:2019-10-05 16:34:30
【问题描述】:
我在使用 BottomNavigation 和 NavigationUI 检索片段中的参数时遇到了一些问题。我在导航到 addOrderFragment(picture) 后检索空值。我不知道为什么这不起作用。
导航布局:http://prntscr.com/pf9tl1
活动布局:http://prntscr.com/pf9u4q
Activity 布局有一个 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);
}
【问题讨论】:
-
如果你的 UID 对你的活动来说是全局的,你为什么要使用 Fragment 参数呢?片段可以自己调用
requireActivity().getIntent().getStringExtra("UID") -
@ianhanniballake 我不知道为什么。现在可以了,谢谢。
标签: android bottomnavigationview navigationcontroller