项目报错:Fragment not attached to a context.

近日,发现项目报错如下:

java.lang.IllegalStateException: Fragment FortuneFragment{179d1cbc} not attached to a context. at android.support.v4.app.Fragment.requireContext(Fragment.java:696)

测试的时候没有测出这个问题,所以也就没想到会在这个地方报错。项目中报错的地方如图所示:

这个方法定义在Fragment中。

在Activity重建的时候,假如fragment还在使用诸如context,就会出现这个问题,比如说突然横屏,fragment里面正在访问网络接口,使用了  new ProgressDialog(context, R.style.waitting_dialog);来进行等待,就会崩溃,Fragment not attached to a context。可以在fragment内部,使用isAdded()来判断是否fragment和activity绑定。

而当前项目中,没有横屏,也不是访问网络,稍微有点不同。但问题的本质原因是一致的。

在getResources()时需要Context,而这时Fragment可能与Activity不在绑定状态,所以在Fragment处理异步操作时,一定要记着加判断:isAdded()。确保不会出问题。

至此,问题解决!

  • 18
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值