什么时候getActivity()可以返回null?

时间:2015-03-08 17:18:45

标签: android android-activity lifecycle

也许是愚蠢的问题,但是当getActivity()可以重新归零时,可以将getActivity()保存到onViewCreated中的字段以便mActivity进行检查并在任何地方使用它吗?

第一个例子,片段中的onStop方法。可以,或者我不应该那样检查?:

@Override
public void onStop() {
    registrationMessage(RequestService.MSG_UNREGISTER);
    if (getActivity() != null)
        getActivity().unbindService(serviceConnection);
    super.onStop();
}

1 个答案:

答案 0 :(得分:1)

确保onStop中的上下文不为空, 以下是developers documentation -

的警告行
  

如果你需要Fragment中的Context对象,你可以调用   getActivity()。但是,要小心只在调用时调用getActivity()   片段附加到活动。片段还没有时   附着,或在其生命周期结束时被分离,   getActivity()将返回null。