开发过程中经常会遇到TAB切换这种场景,实现tab切换有多种实现方式常见的有FragmentTabHost,ViewPager等实现。当我们在父Fragment中使用如下方式add子Fragment时,在子Fragment中使用getParentFragment()获取父Fragment时方法返回null
getFragmentManager().beginTransaction()
.add(R.id.fg_container,fragments)
.commit();
使用上面的这种方式添加子Fragments可以正常没有任何问题,但是当我们在子Fragment中做一些操作需要同步更新父Fragment时,通过getParentFragment()方法获取Fragment返回null,这是就需要改用另外一个方法来添加子Fragment:
getChildFragmentManager().beginTransaction()
.add(R.id.fg_container,fragments)
.commit()
使用getChildFragmentManager()方法就可以了。