Fragment動態新增碎片
阿新 • • 發佈:2019-01-30
當然,第一步是要建立要新增的碎片佈局的,這裡就省略了,待新增的佈局對應類為: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();
}
});