我无法在方向更改后显示相同的片段。我把它放到后台并弹回来。它跳转到onCreateView等等,但随后它调用onDetach,导致显示错误的片段..代码如下:
//fragment
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {...}
@Override
public void onDetach() {
super.onDetach();
this.getActivity().getFragmentManager().beginTransaction().addToBackStack(null);
}
并在主
if (getFragmentManager().getBackStackEntryCount()>1){
setContentView(R.layout.activity_main);
getFragmentManager().popBackStack();
}
我错过了什么?
提前感谢您的帮助
答案 0 :(得分:2)
每当您更改方向时,您的Activity都会被重新创建,因此您的Activity中托管的片段会被重新创建,因此您的片段将再次调用整个生命周期方法。
如果您想使用片段处理配置更改,请查看以下链接:http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html