getChildFragmentManager和getsupportFragmentManager和getFragmentManager的关系

简介: getChildFragmentManager和getsupportFragmentManager和getFragmentManager的关系

getChildFragmentManager和getsupportFragmentManager和getFragmentManager的关系


getFragmentManager()所得到的是Fragment的父容器的管理者。

getChildFragmentManager()所得到的是在fragment里面的子容器的管理者。

getSupportFragmentManager()主要用于支持3.0以下的版本,3.0以上的可以直接调用getFragmetnMaanager()。因为fragment是3.0以后才出现的组件,为了让之前的的版本也可以使用,所以才有了getSupportFragmentManager();

Fragment嵌套Fragment要用getChildFragmentManager


容易出错的地方:


Fragment放ViewPager,ViewPager里面是fragment。第一次进入没问题,再次进入ViewPager的fragment时里面内容就没了,数据丢失

Fragment低频率点击切换不会发生问题,过快点击马上崩溃

错误:java.lang.IllegalArgumentException:No view found for id for fragment

调用fragment的replace方法不走onDestroy()、onDestroyView()方法,无法销毁fragment

在fragment中写倒计时,每次切换后倒计时越来越快的问题!

解决方案


Frag7_ViewPager_Adapter adapter = new Frag7_ViewPager_Adapter(
                getChildFragmentManager(),list);


getFragmentManager到的是activitry对所包含fragment的Manager,而如果是fragment嵌套fragment,那么就要利用getChildFragmentManager()了。


相关文章
|
6月前
|
开发框架 .NET C#
浅谈c和c++和c#之间的关系
浅谈c和c++和c#之间的关系
79 0
|
6月前
|
人工智能
|
数据可视化 uml
UML图讲解(关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系)
UML图讲解,关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系。
3192 0
UML图讲解(关联关系,单向关联,双向关联,自关联,组合关系,依赖关系,继承关系,实现关系)
|
存储 Java 数据库
JPA实现多对多关系
JPA实现多对多关系
163 0
|
存储 编译器 C语言
C++ 基础篇之类 & 对象的关系
C++ 在 C 语言的基础上增加了面向对象编程,C++ 支持面向对象程序设计。类是 C++ 的核心特性,通常被称为用户定义的类型。
类之间的关系共为6种关系
类之间的关系共为6种关系
571 0
量价关系分析
量价关系分析
376 0
量价关系分析
类和类之间的关系(2)
类和类之间的关系(2)
134 0
类和类之间的关系(2)
|
uml
类和类之间的关系(1)
类和类之间的关系(1)
117 0
类和类之间的关系(1)