当前位置: 代码迷 >> 综合 >> getFragmentManager 、getSupportFragmentManager 与getChildFragmentManager三者之间的区别
  详细解决方案

getFragmentManager 、getSupportFragmentManager 与getChildFragmentManager三者之间的区别

热度:109   发布时间:2023-10-08 22:49:55.0

首先getFragmentManager 、getSupportFragmentManager这个两个FragmentManager用的最多,Fragment是安卓3.0以后引入的API,FragmentManager是管理Fragment的片段管理器,

简单点说如果你的项目是运行在安卓系统3.0以后的版本(高版本)就用getFragmentManager来得到FragmentManager,那么问题来了,如果你要运行在安卓系统3.0之前的版本(低版本)能运行吗?答案当然是不行滴!!!

会报错,如下图所示!
getFragmentManager 、getSupportFragmentManager 与getChildFragmentManager三者之间的区别

那么我就想运行在低版本的手机上该怎么办呢?安卓为我们提供了一个向下兼容的包—-android.support.v4。这时我们获取片段管理器就需要用getSupportFragmentManager这个方法了,然后修改你自己写的继承Fragment的类 修改导包 android.app.Fragment—>android.support.v4.app.Fragment

然后在你切换Fragment的Activity改为继承FragmentActivity ,最后运行项目即可。

了解完上面两个FragmentManager之后我们再来看看getChildFragmentManager, 当Fragment嵌套Fragment时(也就是说你的Fragment里面还有子Fragment),里面需要用getChildFragmentManager来获得FragmentManager,