onDetach在片段时调用

时间:2014-12-25 09:55:13

标签: android android-fragments

我无法在方向更改后显示相同的片段。我把它放到后台并弹回来。它跳转到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();
    }
我错过了什么? 提前感谢您的帮助

1 个答案:

答案 0 :(得分:2)

每当您更改方向时,您的Activity都会被重新创建,因此您的Activity中托管的片段会被重新创建,因此您的片段将再次调用整个生命周期方法。

如果您想使用片段处理配置更改,请查看以下链接:http://www.androiddesignpatterns.com/2013/04/retaining-objects-across-config-changes.html