我在理解 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吗? - 如何获得向上按钮?