也许是愚蠢的问题,但是当getActivity()
可以重新归零时,可以将getActivity()
保存到onViewCreated
中的字段以便mActivity
进行检查并在任何地方使用它吗?
第一个例子,片段中的onStop方法。可以,或者我不应该那样检查?:
@Override
public void onStop() {
registrationMessage(RequestService.MSG_UNREGISTER);
if (getActivity() != null)
getActivity().unbindService(serviceConnection);
super.onStop();
}
答案 0 :(得分:1)
确保onStop中的上下文不为空, 以下是developers documentation -
的警告行如果你需要Fragment中的Context对象,你可以调用 getActivity()。但是,要小心只在调用时调用getActivity() 片段附加到活动。片段还没有时 附着,或在其生命周期结束时被分离, getActivity()将返回null。