同时显示两个片段

时间:2013-07-31 12:10:21

标签: java android android-fragments android-nested-fragment

FragmentPagerAdapter中的case 0我实例化fragment A此片段,我想在frag A内显示两个片段。视图未显示。主类调用MyFragmentPagerAdapter来填充viewpager。

 MyFragmentPagerAdapter extends FragmentPagerAdapter{

   @Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

 View rootView = inflater.inflate(R.layout.main, container, false);
final int MARGIN = 16;
leftFrag = new RoundedColourFragment(con.getResources().getColor(
        R.color.android_green), 1f, MARGIN, MARGIN / 2, MARGIN, MARGIN);
rightFrag = new RoundedColourFragment(con.getResources().getColor(
        R.color.honeycombish_blue), 2f, MARGIN / 2, MARGIN, MARGIN,
        MARGIN);

FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(R.id.fragg, leftFrag, "left");
ft.add(R.id.fragg2, rightFrag, "right");
ft.commit();

return rootView;
} 
}

XML

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/root"
    android:orientation="horizontal"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

     <FrameLayout 

            android:id="@+id/fragg"
            android:layout_weight="2"
            android:layout_width="0dp"
            android:layout_height="match_parent" />

      <FrameLayout

            android:id="@+id/fragg2"
            android:layout_weight="2"
            android:layout_width="0dp"
            android:layout_height="match_parent" />


<android.support.v4.view.ViewPager
        android:id="@+id/pager"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
    />
</LinearLayout>

1 个答案:

答案 0 :(得分:3)

如果要在片段内嵌套片段,则必须使用getChildFragmentManager()来设置嵌套片段,而不是getFragmentManager()getChildFragmentManager()是API级别17的一部分,它也是Android支持包的碎片后端。