答案 0 :(得分:4)
假设您有一个这样的活动布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent">
<fragment android:name="com.example.frag.MyFragment"
android:id="@+id/list"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="match_parent" />
</LinearLayout>
这将在活动中创建MyFragment
类型的片段,您也可以以编程方式执行:
FragmentManager fragmentManager = getFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
MyFragment fragment = new MyFragment();
fragmentTransaction.add(R.id.fragment_container, fragment);
fragmentTransaction.commit();
R.id.fragment_container
是将片段保存在活动布局文件中的视图的ID,我通常使用框架布局。
最后,对于嵌套片段,您可以only以编程方式执行此操作。该方法非常类似于以编程方式向活动添加片段,在父片段内部执行:
Fragment nestedFragment = new MyFragment2();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.nested_frag, videoFragment).commit();
再次R.id.nested_frag
是父片段布局文件中容器的id。
答案 1 :(得分:0)
从片段F1中,您可以使用以下内容添加新片段:
FragmentManager fragmentManager = getActivity().getSupportFragmentManager();
FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
fragmentTransaction.replace(R.id.container, fragment);
fragmentTransaction.commit();