Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android &引用;这只能用于不在后堆栈中的片段;这是什么意思?_Android - Fatal编程技术网

Android &引用;这只能用于不在后堆栈中的片段;这是什么意思?

Android &引用;这只能用于不在后堆栈中的片段;这是什么意思?,android,Android,我在Android文档中看到: 公共void setRetainInstance(布尔保留) 自:API 11级 控制是否在活动重新创建期间(例如从>配置更改)保留片段实例这只能用于不在后堆栈中的片段。如果设置,>重新创建活动时,片段生命周期将略有不同: 有人能给我解释一下“这只能用于不在后堆栈中的片段”吗。 我构建了一个简单的示例进行测试。 我把碎片放在后堆里。但这种方法仍然有效。我将碎片放在后面,如下所示: FragmentTransaction transaction2 = get

我在Android文档中看到:

公共void setRetainInstance(布尔保留)

自:API 11级 控制是否在活动重新创建期间(例如从>配置更改)保留片段实例这只能用于不在后堆栈中的片段。如果设置,>重新创建活动时,片段生命周期将略有不同:

有人能给我解释一下“这只能用于不在后堆栈中的片段”吗。 我构建了一个简单的示例进行测试。 我把碎片放在后堆里。但这种方法仍然有效。我将碎片放在后面,如下所示:

    FragmentTransaction transaction2 = getSupportFragmentManager().beginTransaction();
    
    MyFragment myFragment = new MyFragment();
    myFragment.setHasOptionsMenu(true);
    transaction2.replace(R.id.fragment_container, myFragment);
    transaction2.addToBackStack(null);
    transaction2.commit();
在我的fragment oncreate方法中:

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

    Log.v("MyFragment", "onCreate");
}
我是碎片中的新手。请帮我解决这个问题。 注:我使用了:SherlockFragment