前两天我问了以下问题: Change the fragment in a framelayout from within another fragment of said framelayout
一位用户 Krish,确实帮助我找出了我的想法有什么问题,但我仍然不确定如何真正完成我想要的事情。
我希望能够在一个 FrameLayout 中的三个 fragment 之间切换。 - 这三个中的第一个在父 fragment 的开头加载,并且当在第二个 fragment 处按下后退时加载 - 第二个必须在单击第一个 fragment 的 ListView 中的项目时以及当从第三个 fragment 按下后退按钮时替换第一个 - 在第二个布局中按下按钮时必须加载第三个
我尝试通过在必须更改 fragment 时调用以下行来实现此目的。 A1_frame 是父 Fragment/Layout 的 FrameLayout,A1_B0_C2 是我要替换的 fragment
getChildFragmentManager().beginTransaction().replace(R.id.A1_Frame, new A1_B0_C2()).addToBackStack(null).commit();
据我了解,我的解决方案的问题是不可能替换父 fragment/布局的 FrameLayout 中的 fragment ,但如果它有效,它将解决我的解决方案。这就是为什么我选择把它放在这里。
我希望有人能够告诉我什么可行!
最佳答案
getChildFragmentManager()
返回调用它的 Fragment 的 Fragment 管理器,在本例中是 A1_Frame 中的任何 Fragment
您正在寻找的方法是 getFragmentManager()
,它返回 fragment 所属的 Activity/fragment 的 fragment 管理器。 IE。 MainActivity,或者任何正在创建您的第一个 fragment 的东西。
关于java - 从其中一个 fragment 内部切换 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48368616/