两天前我问了以下问题: Change the fragment in a framelayout from within another fragment of said framelayout
一位同事Krish,真的帮助我找出了我想的方式出了什么问题,但我不知道如何真正得到我想做的事。
我希望能够在一个FrameLayout中切换三个片段。 - 三个中的第一个在父片段的开头加载,而在第二个片段按下后面 - 第二个必须在点击第一个片段的列表视图中的项目时替换第一个,并且当从第三个片段按下后退按钮时 - 在第二个布局中按下按钮时必须加载第三个
我已经尝试通过在必须更改片段时调用以下行来实现此目的。 A1_frame是父片段/布局的FrameLayout,A1_B0_C2是我要替换的片段
getChildFragmentManager().beginTransaction().replace(R.id.A1_Frame, new A1_B0_C2()).addToBackStack(null).commit();
根据我的理解我的解决方案的问题是,不可能替换父片段/布局的FrameLayout中的片段,但如果它可以工作,它将解决我的解决方案。这就是为什么我选择把它放在这里。
我希望有人能告诉我什么会有效!
答案 0 :(得分:1)
getChildFragmentManager()
返回正在调用的片段的片段管理器,在这种情况下,片段在A1_Frame中
您正在寻找的方法是getFragmentManager()
,它返回片段所属的活动/片段的片段管理器。即MainActivity,或者创建第一个片段的任何内容。