1. 程式人生 > >Fragment動態新增碎片

Fragment動態新增碎片

當然,第一步是要建立要新增的碎片佈局的,這裡就省略了,待新增的佈局對應類為:AnotherFragment。
首先將右側碎片放在一個FrameLayout(最簡單的一種佈局,沒有任何定位方式,所有控制元件都擺放在佈局左上角)中

<FrameLayout
        android:id="@+id/right_layout"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="1"
        >
        <fragment
android:id="@+id/right_fragment" android:layout_gravity="center" android:name="com.commy.u4_fragmentreview.RightFragment" android:layout_width="wrap_content" android:layout_height="wrap_content" />
</FrameLayout>

java程式碼:

button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
//                建立待新增的碎片例項
                AnotherRightFragment fragment = new AnotherRightFragment();
//                獲取FragmentManager
                FragmentManager fragmentManager = getFragmentManager();
//                開啟一個FragmentTransaction事務。
FragmentTransaction transaction = fragmentManager.beginTransaction(); // 呼叫事務的replace方法,需要傳入容器的id和帶傳入的碎片例項。 transaction.replace(R.id.right_layout,fragment); transaction.addToBackStack(null); // 提交事務。 transaction.commit(); } });