IllegalStateException:"Fragment xxxx not attached to Activity" 异常

简单的说这个异常是因为,在Activity已经destroy,而此时Fragment中的某个方法调用到了context.

常见情况 在执行某个异步请求时候,Activity销毁,而请求没有被停止,回调中用到了context相关.

比如getResource()

而此方法的源码就有

if (mHost == null) {
    throw new IllegalStateException("Fragment " + this + " not attached to Activity");
}
return mHost.getContext().getResources();

所以必须在destroy的时候取消掉请求.可以通过 rxlifecycle 或者自己在生命周期中进行处理.

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,523评论 25 708
  • 面试必背 会舍弃、总结概括——根据我这些年面试和看面试题搜集过来的知识点汇总而来 建议根据我的写的面试应对思路中的...
    luoyangzk阅读 6,826评论 6 173
  • 下面是我对关于fragment官方文档的翻译,加了些自己的理解。 前言 Fragment 表示 Activity ...
    走在路上的日子阅读 2,449评论 0 22
  • 三年前,当助产士把刚刚出生的你放到我怀里时,我正精疲力尽地瘫躺在产床上不知所措,甚至担心你会不会从我身上滚下去,竟...
    豆迪阅读 676评论 12 6
  • 今天和妈妈发生了矛盾,我说我难受,因为我不能一个人静静地呆着。然后她说这个家就是容不下她了。我不明白为什么父母总...
    宅家妖怪阅读 1,339评论 0 0