有什么办法可以保证onAttach正常工作吗?
@Override
public void onAttach(Activity activity) {
super.onAttach(activity);
}
如果稍后在片段中调用getActivity(),我应该关注并始终这样做:
if(getActivity()!=null)
如果为null,该怎么办?
片段流的顺序为:
最佳答案
如果稍后在片段中调用getActivity(),我应该关注并始终这样做:if(getActivity()!= null)
那将取决于“后继片段”的性质。在主应用程序线程上的onAttach()
和onDetach()
调用之间,getActivity()
应该返回非null
值。然而:
如果您的片段正在管理AsyncTask
或其他后台线程,则可能在进行附加/分离时(例如,配置更改)对该线程进行了调用,因此此类后台线程不应尝试引用该活动。
如果不确定在onAttach()
和onDetach()
之间调用的方法,请练习防御性编程并验证从Activity
返回的getActivity()
不是null
如果为null,该怎么办?
正常失败。除此之外,我们无法为您提供建议,因为我们不知道您打算如何进行这项活动。