Android FragmentTransaction 常用方法總結

1)add

1
add(intcontainerViewId,Fragmentfragment,Stringtag)

把fragment添加到activity指定的容器中
注意: fragment 必須是沒有添加過的,獲取是否已經添加使用FragmentManager.findFragmentByTag(String)

2)attach

1
attach(Fragmentfragment)

把fragment重新添加到當前的 view hierarchy ,並顯示,fragment 的onCreateView 會重新執行,佈局重新繪製。
注意:fragment必須是經過detach

3)detach

1
detach(Fragmentfragment)

從當前的UI中分離fragment,fragment的視圖結構會被破壞。

4) hide

1
hide(Fragmentfragment)

隱藏fragment,fragment必須是添加過的,只會隱藏當前的fragment。
5)remove

1
remove(Fragmentfragment)

如果container存在fragment,從container中移除 fragment。
6)replace

1
replace(intcontainerViewId,Fragmentfragment,Stringtag)

相當先調用remove (Fragment fragment),在調用add(int containerViewId, Fragment fragment, String tag)
7)show

1
show(Fragmentfragment)

顯示之前hide(fragment),同樣fragment必須已經是添加過到container中。

fragment幾個屬性

1)onAttachonCreate

1
2
3
//fragment第一次attach到當前的activityonAttach(Activityactivity)onCreate(BundlesavedInstanceState)

2)onCreateView

1
2
//創建視圖onCreateView(LayoutInflaterinflater,ViewGroupcontainer,BundlesavedInstanceState)


再列舉三種fragment使用情況:

1)第一種:
add() + attach() + detach()
fragment 上述1執行一次 ,2會在每次attach()執行
2)第二種:
replace()
fragment 上術都會執行
3)第三種:
add()+ hide() + show()
fragment 上述執行一次


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章