java.lang.IllegalStateException: No activity

出现场景

第一次启动程序可以正常运行,随便切换tab也不会有问题,第二次必崩

引起BUG的原因是
当fragment移动到分离状态的时候,会重置内部状态,但是并没有重置子类管理器(这是类库当前版本的错误),这会让fragment复位之后使它和activity不连接导致一个exception
解决办法是
添加 下面的代码对于每一个fragment在onDetach()方法里
    public void onDetach() {  
        super.onDetach();  
        try {  
            Field childFragmentManager = Fragment.class.getDeclaredField("mChildFragmentManager");  
            childFragmentManager.setAccessible(true);  
            childFragmentManager.set(thisnull);  
        } catch (NoSuchFieldException e) {  
            throw new RuntimeException(e);  
        } catch (IllegalAccessException e) {  
            throw new RuntimeException(e);  
        }  
    } 

阅读更多
文章标签: exception
个人分类: Android
下一篇接口 抽象类
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭