心医学院Fragment层级关系图

心医学院fragment栈层级结构图.png

关系图简单说明

启动项目进入MainActivity后,MainActivity创建了一个homeroot的fragment,在这个fragment里有4个子fragment,分别对应了首页显示的四个底边tab,但是不管这是个子fragment本身怎么操作,都是在homeroot这个fragment,和fragment并不是在一个栈里。然后在某个子fragment里交互要跳到一个新的fragment,而这个新的fragment事实上和homeroot一个层级,这里可以通过eventbus传递消息,子fragment通知homeroot要切换xxfragment了,然后将这个xxfragment压入roothome所在栈中,这个xxfragment和homeroot一个层级。

注意

假如在某个子fragment(如图紫色层级)里有多个viewpage,每个viewpage就对应一个fragment(如图蓝色),这时候要注意获取fragmentmanager的时候要写getChildFragmentManager(),否则就会和紫色fragment在一个栈里。如
mDetailFMViewPagerAdapter = new ViewPagerFMAdapter(getChildFragmentManager(), mTitles, listFragments);
public ViewPagerFMAdapter(FragmentManager fm, String[] mTitles, List<BaseFragment> mFragments) { super(fm); this.mTitles = mTitles; this.mFragments = mFragments; }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容