1

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

因此,要修复它,我需要始终使用:

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

但是,如果 Activity 不为空,它总是会验证,还有其他方法可以做到这一点而不会崩溃吗?

4

1 回答 1

2

你也许是对的。当您的 AsyncTask 来到onPostExecuteActivity 时可能已经结束。

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

于 2013-11-12T23:11:06.410 回答