问题描述
在Activity中启动FragmentA,FragmentA嵌套FragmentB,在FragmentB中startActivityForResult,返回时FragmentA的onActivityResult并没有被调用,而调用了Activity中的onActivityResult。
解决方案
问题出在的FragmentManager上,从Activity中启动FragmentA是调用的Activity中的getFragmentManager,他获取到的是Activity的FragmentManager,管理Activity所属的Fragment。
而在Fragment中应该调用getChildFragmentManager去管理Fragment的子Fragment,而Fragment中的getFragmentManager方法获取到的是他的父容器的FragmentManager,也就是对应FragmentA的Activity的FragmentManager。