当我需要片段中的上下文时,我使用getActivity(),但有时这个代码崩溃给了我NullPointer,我相信因为android继续在片段中执行代码但活动已经死了。
所以,为了解决这个问题,我需要一直使用:
final Activity activity = getActivity();
if(activity != null) {
//TODO: Use activity here
}
但是如果Activity不为null,那么sux总是验证, 还有其他方法可以不崩溃吗?
答案 0 :(得分:2)
你可能是对的。当AsyncTask进入onPostExecute
时,Activity可能已经结束。
当Fragment与Activity分离时,您需要cancel()
AsyncTask。这将确保不会调用onPostExecute
。