Fragment界面添加html
瞭解過fragment的生命週期等簡單知識,因而去看官方文檔來了解更多相關內容,要添加fragment到咱們的UI界面中,給出了兩種經常使用的方法,第一個是在activity的佈局xml文件中使用<fragment>標籤聲明,第二個是在java代碼中將fragment添加到一個ViewGroup,我比較習慣於使用第一種XML佈局的方式,這裏只是介紹了第一種, 在主activity中縱向加入兩個fragment,使用<fragment>標籤聲明,每一個fragment有各自的layout佈局,都做爲activity的一部分java
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------android
以後要爲每個fragment添加界面,單獨寫每一個的layout,而後嵌入到activity中,咱們必需要在每一個Fragment的類中實現onCreateView()方法,並將layout添加進去;如果你的Fragement類自己繼承了ListFragment,則不須要必須實現onCreateView(),由於默認已經返回了ListView控件對象ide
下面是一段Fragment類如何從佈局xml文件中生成對象的,主要就是在onCreateView()方法中添加進去佈局文件:佈局
其中
inflater用於向fragment中添加view
container用來存放fragment其layout的ViewGroup對象
savedInstanceState相似於onCreate()中相同的Bundle參數,用於恢復狀態spa
inflater的inflate方法的三個參數分別是:.net
int resource:fragment的layout資源ID。xml
ViewGroup root:存放fragment的layout的ViewGrouphtm
boolean attachToRoot:是否在建立fragment的layout時,把layout添加到container上面去對象
Fragment的管理方式
要管理fragment,咱們須要用到FragmentManager,在fragement所在的activity中經過getFragment來得到,FragmentManager經常使用之處;
1使用方法findFragmentById()或findFragmentByTag(),獲取activity中已存在的fragment們。
2使用方法popBackStack()從activity的後退棧中彈出fragment們(這能夠模擬後退鍵引起的動做)。
3用方法addOnBackStackChangedListerner()註冊一個偵聽器以監視後退棧的變化。
----------------------------------------------------------------------------------------------------------------------------------------------------
經過FragmentManager咱們還能夠來執行對fragment的事務操做,即在同一時刻執行一組動做,首先經過begintransaction獲取一個事物的實例,而後能夠執行一系列的事務操做,如add(),remove(),replace(),最後使用commint()方法提交事務
下面的代碼片斷展現了一個簡單的事務操做
值得注意的是只能在activity處於可保存的狀態時提交事務(好比onPause和onStop方法中),不然會引發異常,這是由於fragment的狀態會丟失。若是要在可能丟失狀態的狀況下提交事務,請使用commitAllowingStateLoss()。
轉自:http://blog.csdn.net/eyu8874521/article/details/8240355