getChildFragment()

来源:互联网 发布:网络推广部职责 编辑:程序博客网 时间:2024/06/06 01:25

<转> https://segmentfault.com/q/1010000000636539

getChildFragment()要在什么情况下使用?

自问自答~,作为范例
getChildFragment()这个方法是Fragment的方法,用来在Fragment上管理Fragment;
使用时,如果用的V4包,会碰到no Activity错误,是因为v4包没重置childFragmentManager,重写父Fragment的onDetch方法,来解决:

   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);               }          }`

参考资料:
http://www.tuicool.com/articles/2eM32a
http://stackoverflow.com/questions/15207305/getting-the-error-java-lang-illegalstateexception-activity-has-been-destroyed

0 0