getChildFragmentManager 与 getFragmentManager 前者是管理Fragment中的Fragment的,有时候getChildFragmentManager用不起来,可以在Fragment中重写onDetach()
public void onDetach() {
super.onDetach();
try {
Field childFragmentManager = Fragment.class.getDeclaredField("mChildFragmentManager");
childFragmentManager.setAccessible(true);
childFragmentManager.set(this, null);
} catch (NoSuchFieldException e) {
throw new RuntimeException(e);
} catch (IllegalAccessException e) {
throw new RuntimeException(e);
}
}
Fragment 为app.Fragment;不是v4包的
Field引入reflect类