我在理解 Android 中的 Fragments 时遇到了一些问题。
我的底部导航MainActivity
有三个项目:FragmentA
, FragmentB
, FragmentC
。
FragmentC
有一个按钮。当用户单击该按钮时,另一个FragmentD
应显示附加信息。
FragmentD
工具栏中应该有一个向上按钮。当用户单击该按钮时,他返回到FragmentC
.- 当用户从导航中选择不同的片段时,
FragmentD
应该会消失。
在我的按钮的 onClick 中,我尝试使用它
FragmentManager manager = requireActivity().getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
transaction.replace(R.id.nav_host_fragment, new FragmentD());
transaction.addToBackStack(null);
transaction.commit();
作为我的 MainActivity 底部导航项的nav_host_fragment
片段容器。
- 为什么不
transaction.replace
替换FragmentC
为FragmentD
?当我按下按钮时,FragmentD
出现在上方FragmentC
并且有一个透明的背景。FragmentD
当我从底部导航中选择不同的项目时,也不会被其他片段替换。是因为我正在使用nav_host_fragment
容器FragmentD
吗? - 如何获得向上按钮?