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
属性来处理配置更改。为此目的使用它不仅仅是一种解决方案,更是一种黑客手段。