我在Android文档上看到:

public void setRetainInstance(boolean retain)从以下版本开始:API Level 11控制是否在重新创建活动时保留片段实例(例如从>配置更改) . 这只能用于不在后栈中的片段 . 如果设置,>重新创建活动时,片段生命周期会略有不同:

任何人都可以向我解释更多关于“这只能用于不在后堆栈中的碎片” . 我构建了一个简单的测试示例 . 我把片段放回堆栈 . 但是setRetainInstance方法仍然有效 . 我把片段放到这样的后台:

FragmentTransaction transaction2 = getSupportFragmentManager().beginTransaction();

    MyFragment myFragment = new MyFragment();
    myFragment.setHasOptionsMenu(true);
    transaction2.replace(R.id.fragment_container, myFragment);
    transaction2.addToBackStack(null);
    transaction2.commit();

在我的片段oncreate方法:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setRetainInstance(true);

    Log.v("MyFragment", "onCreate");
}

我是片段中的新手 . 请帮我弄清楚这个问题 . 注意:我使用过:SherlockFragment