Java 恢复片段后,context.getActivity()在片段中返回null

Java 恢复片段后,context.getActivity()在片段中返回null,java,android,eclipse,android-fragments,onresume,Java,Android,Eclipse,Android Fragments,Onresume,当片段正在运行时,context.getActivity()不是null,而是当它转到onPause()方法并恢复时,context.getActivity()方法返回null @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle s

当片段正在运行时,
context.getActivity()
不是
null
,而是当它转到
onPause()
方法并恢复时,
context.getActivity()
方法返回
null

@Override public View onCreateView(LayoutInflater inflater, 
                                   ViewGroup container, 
                                   Bundle savedInstanceState) {
  view = inflater.inflate(R.layout.levelmission, container, false); 
  initComponents(view); 
  return view; 
}
如果你使用

setRetainInstance(true);
每次重新创建视图时,都应重置活动,例如:

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

 view = inflater.inflate(R.layout.levelmission, container, false); 
 initComponents(view); 
 mActivity = getActivity();

 return view; 
}

然后使用mActivity而不是context.getActivity()

向我们显示相关代码,并指出您是否使用支持库以及哪个版本。您的片段是否使用空构造函数?它可能为空,因为片段尚未附加到活动。@Snicolas它是我的库android.support.v4.app.FragmentUsing
setRetainInstance(true)
类似于设置
android:configChanges
属性来处理配置更改。为此目的使用它不仅仅是一种解决方案,更是一种黑客手段。