要完成動態的新增fragment須執行下面幾步:
1.建立乙個類繼承fragment,實現 oncreateview方法
2.建立布局檔案被fragment載入,當作fragment的布局
eg.
public class fragment1 extends fragment
}
建立了乙個fragment1 繼承fragment 並實現oncreateview方法,在方法內inflate乙個布局檔案,創造乙個view並返回
3.主activity中獲得 fragmentmanager ;
fragmentmanager fm=getfragmentmanager();
顧名思義 fragmentmanager 是對fragment管理的物件
4.接著用此物件開啟乙個事務
fragmenttransaction ft=fm.begintransaction();
5.fm身上有三個簡單方法
add(),remove(),replace()
add(containerviewid
,fragment, tag):
containerviewid代表盛裝fragment的容器,一般是乙個布局
fragment代表將要新增的fragment
tag 為這個新增進去的fragment起的標籤
remove(fragment);
移出引數所指的fragment
replace(containerviewid,fragment)
移出容器中所有的fragment ,並且把fragment add進去
6.提交事務
ft.commit();
這就完成了基本的新增操作
注意:如果在乙個layout中新增乙個fragment再新增乙個會怎麼樣?
第二次新增的fragment會疊加在第一次新增的上面,當第二個被銷毀時,第乙個會露出來才可以被看到
replace()的bug
在安卓4.4上測試過,如果幾個fragment疊加在乙個layout裡面,呼叫replace方法,不能正確的移出所有的fragment
在安卓7.1.2上測試,可以正確的移出
動態新增Fragment
1.建立待新增的fragment的例項 myfragment fragment new myfragment 2.獲取fragmentmanager fragmentmanager fragmentmanager getfragmentmanager 3.開啟乙個事務 fragmenttransac...
Fragment動態新增頁面
一.首先將fragment準備好 包含兩部分,一部分是布局檔案,一部分是類 1.布局檔案 普通的布局檔案就行 2.類 在類中引入布局檔案 package com.example.administrator.fragment import android.os.bundle import androi...
Fragment的動態載入
fragment的動態載入的大綱步驟 1.在布局檔案中在需要動態載入fragment控制項的地方新增乙個佔位容器一般是乙個layout 2.構建乙個fragmentmanager的管理類,該類用於開啟乙個事務 privatefragmentmanager manager manager getfra...