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)onAttach
和onCreate
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
上述執行一次