Fragment中的getActivity()有时会崩溃

时间:2013-11-12 22:55:50

标签: android android-fragments

当我需要片段中的上下文时,我使用getActivity(),但有时这个代码崩溃给了我NullPointer,我相信因为android继续在片段中执行代码但活动已经死了。

所以,为了解决这个问题,我需要一直使用:

final Activity activity = getActivity();
if(activity != null) {
   //TODO: Use activity here
}

但是如果Activity不为null,那么sux总是验证, 还有其他方法可以不崩溃吗?

1 个答案:

答案 0 :(得分:2)

你可能是对的。当AsyncTask进入onPostExecute时,Activity可能已经结束。

当Fragment与Activity分离时,您需要cancel() AsyncTask。这将确保不会调用onPostExecute