知识点系列 78:Fragment系列二:踩过的坑

Published: 08 Aug 2017 Category: 知识点

Fragment在深度使用时,会有很多坑,在此记录一二

##getChildFragmentManager(), getFragmentManager(),getSupportFragmentManager()的区别

  • getFragmentManager()和getSupportFragmentManager()的区别很容易理解,Android的v4扩展包中的FragmentActivity中获取FragmentManager使用的就是getSupportFragmentManager(),android.app中获取管理类的方法就是getFragmentManager()
  • getChildFragmentManager()返回一个FragmentManager为了设置和管理当前Fragment内部的Fragment的们
  • getFragmentManager和getSupportFragmentManager都是获取FragmentActivity的FragmentManager来管理其中的Fragment
  • 而getChildFragmentManager是当前Fragment的FragmentManager去管理

总结:需要管理相互独立的并且隶属于Activity的Fragment使用FragmentManager(),而在Fragment中动态的添加Fragment要使用getChildFragmetManager()来管理

Can not perform this action after onSaveInstanceState

参考链接: