Fragment有直接关系的关键性类FragmentManager,FragmentTransaction,FragmentActivity
可能會比較亂,下面是方便自己以后找到的內容
繼承Fragment時候有 app包中的fragment和v4包中的fragment
app包中的fragment是3.0之后才有的支持的版本太高,在低版本中是是用不了.
v4包中的fragment是可以兼容到1.6的版本
FragmentAcitivity
1、FragmentActivity 繼承自Activity,用來解決Android 3.0之前無法使用Fragment的問題,所以在使用的時候需要導入android-support-v4.jar兼容包,同時繼承 FragmentActivity,這樣在Activity中就能嵌入Fragment來實現你想要的布局效果。?
2、當然Android 3.0之后你就可以直接繼承自Activity,并且在其中嵌入使用Fragment。?
3、獲得FragmentManager的方式也不同
FragmentManager
要管理activity中的fragments,就需要使用FragmentManager。通過getFragmentManager()或getSupportFragmentManager()
getFragmentManager 和 getSupportFragmentManager
3.0以下:getSupportFragmentManager()
3.0以上:getFragmentManager()
因為3.0以下版本? 是沒有fragment的api? 所以必須借助V4包里面的getSupportFragmentManager()方法來間接獲取FragmentManager()對象。
3.0版本之后,有了Fragment的api,就可以直接使用getFragmentManager()這個方法來獲取了
也就是說繼承v4包里面的fragment時用getSupportFragmentManager(),繼承app包里面的fragment時用getFragmentManager()
FragmentTransaction一般用來對當前的Fragment進行管理,包括add,replace,remove;
getFragmentManager到的是activity對所包含fragment的Manager,而如果是fragment嵌套fragment,那么就需要利用getChildFragmentManager()了。
在使用fragment時 遇到?
getFragmentManager到的是activity對所包含fragment的Manager,而如果是fragment嵌套fragment,
那么就需要利用getChildFragmentManager()了
總結
以上是生活随笔為你收集整理的Fragment有直接关系的关键性类FragmentManager,FragmentTransaction,FragmentActivity的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android studio 常量表达式
- 下一篇: 皮草多少钱啊?