android之getSupportFragmentManage

2021-01-06  本文已影响0人  Lee_5566
image.png

getSupportFragmentManager

getSupportFragmentManager()主要用于支持 3.0以下android系统API版本,3.0以上系统可以直接调用getFragmentManager() ,因为fragment是3.0以后才出现的组件,

为了这之前的系统版本也能使用fragment,借助V4包里面的getSupportFragmentManager()方法来间接获取FragmentManager()对象,3.0版本之后,有了Fragment的api,就可以直接使getFragmentManager()这个方法来获取对象。

FragmentManager

FragmentManager顾名思义是用来管理fragment的.

getSupportFragmentManager()就是获取所在fragment 的父容器的管理器,
getFragmentManager()同理。

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

FragmentManager宿主环境指的是其管理类,通常在Activity中通过接口getSupportFragmentManager或者getFragmentManager获得FragmentManager对象, 可以认为Activity是FragmentManager的宿主环境类.

FragmentManager宿主环境类状态变化时(如onStart, onResume, onStop等回调),FragmentManager的状态也随之更新(FragmentManager类有一个成员变量mCurState来记录当前状态),同时会同步其管理的所有Fragment的状态.

从用户的角度来看, FragmentManager的宿主环境类管理了一系列Fragment,并且Fragment随着FragmentMannager的宿主环境类的状态变化而变化.

image.png
上一篇下一篇

猜你喜欢

热点阅读