2015-03-08 86 views
1

也许愚蠢的问题,但当getActivity()可以retun空,是否可以保存getActivity()onViewCreated的字段为mActivity检查,并在任何地方使用它?当getActivity()可以返回null?

第一个例子,片段中的onStop方法。那是正确的,或者我应该从来不检查一样,?:

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

回答

1

确保上下文不为空在的onStop是好的, 下面是从developers documentation警示线 -

如果你需要一个您的Fragment中的上下文对象,可以调用 getActivity()。但是,仅当 片段附加到活动时,请小心调用getActivity()。当片段尚未连接 或在其生命周期结束时被分离时, getActivity()将返回空值。

相关问题