fragment中嵌套fragment时,移除 subview有关问题
fragment中嵌套fragment时,移除 subview问题
问题描述:
坑爹的UI将drawerNavigation 和 TabHostFragment设计到了一起,在第一个抽屉中潜逃了一个 3个Tab。
当从第一个抽屉跳转到第二个抽屉,再跳转回第一个抽屉时,就会出现异常,原因是,当我们从第一个抽屉调走的时候,第一个抽屉的那三个tab对应的fragment并没有被消除掉。所以出现了异常。
解决办法:
跳转的时候消除子fragment.
于是在第一个抽屉销毁时,将他的父视图中所有的子视图全部消除掉。
@Override public void onDestroyView() { Log.e(TAG, "onDestroyView"); super.onDestroyView(); // ((ViewGroup) mTabHost.getParent()).removeView(mTabHost); // ((ViewGroup) mTabHost.getParent()).removeAllViewsInLayout(); // ((ViewGroup) mTabHost.getParent()).removeAllViews(); if(mTabHost!=null){ ViewGroup parenGroup = (ViewGroup) mTabHost.getParent(); if(parenGroup!=null){ parenGroup.removeAllViewsInLayout(); } } }
OK,问题解决了