Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/212.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_Android Fragments - Fatal编程技术网

Android 替换片段是否会销毁所有隐藏的片段

Android 替换片段是否会销毁所有隐藏的片段,android,android-fragments,Android,Android Fragments,如果我有一个活动,我添加fragment1、隐藏fragment1、添加fragment2、隐藏fragment2,然后使用 fragmentManager.beginTransaction() .replace(R.id.content, fragment3) .commit(); 现在要在fragment3中替换,fragment1和fragment2会发生什么情况?他们是被摧毁了还是怎么了,还是还在那里?(这

如果我有一个活动,我添加fragment1、隐藏fragment1、添加fragment2、隐藏fragment2,然后使用

fragmentManager.beginTransaction()
                    .replace(R.id.content, fragment3)
                    .commit();

现在要在fragment3中替换,fragment1和fragment2会发生什么情况?他们是被摧毁了还是怎么了,还是还在那里?(这都在同一个容器中,
R.id.content

如果片段被添加到后堆栈中,那么片段对象实例将调用onDestroyView(),并且重构片段所需的数据仍然是片段后堆栈的一部分,因此当片段从堆栈中弹出时,先前的片段可以重新组合并再次显示(类似于活动堆栈中可能已销毁的活动)。如果片段不是后堆栈的一部分,它将被简单地销毁,因为用户永远无法返回它。

除非您将事务添加到backstack,否则容器中的所有片段都将被销毁