我有一个对话框片段(FragmentA),具有框架布局。 我试图将另一个fragment(FragmentB)添加到框架布局。
public void setFragment(Fragment fragment) {
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.replace(R.id.frame_canvas, fragment);
transaction.commit();
}
请确认一下,我正在登录FragmentB的OnCreateView,并在调用setFragment时将其打印出来。
但是FragmentA的视图不会将FragmentB添加到框架布局中。
编辑:
FragmentA实际上是一个DialogFragment
。这可以成为问题吗?
答案 0 :(得分:1)
使用它,我认为它会起作用。
如果您在片段A上使用下面的代码
Fragment fr = new FragmentB();
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.frame_layout, fr);
fragmentTransaction.commit();
如果您正在从片段B调用的地方进行活动,而不是使用下面的代码
Fragment fr = new FragmentB();
FragmentManager fm = getSupportFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
ft.replace(R.id.frame_layout, fr);
ft.commit();`
// xml
<FrameLayout
android:id="@+id/frame_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/general_home_toolbar">