Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.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 在deattach上保持滑动菜单库中的片段视图状态,然后在事务中附加_Android_Android Fragments - Fatal编程技术网

Android 在deattach上保持滑动菜单库中的片段视图状态,然后在事务中附加

Android 在deattach上保持滑动菜单库中的片段视图状态,然后在事务中附加,android,android-fragments,Android,Android Fragments,我正在尝试创建一个使用 现在我的问题是,假设我有三个片段A,B,C,我先加载片段A,然后加载B,然后加载C,现在当我在分离当前查看片段后附加片段A时,片段A从onCreateView开始,我的视图再次生成 那么,有没有办法存储或保存我的视图,这样它就不会像facebook那样再次生成,facebook最初会显示主屏幕,然后如果你转到任何菜单选项并按back,然后你会再次回到主屏幕,事件internet不可用,整个视图就像以前一样,因为我认为不会重新创建 transaction.hide(curr

我正在尝试创建一个使用

现在我的问题是,假设我有三个片段A,B,C,我先加载片段A,然后加载B,然后加载C,现在当我在分离当前查看片段后附加片段A时,片段A从onCreateView开始,我的视图再次生成

那么,有没有办法存储或保存我的视图,这样它就不会像facebook那样再次生成,facebook最初会显示主屏幕,然后如果你转到任何菜单选项并按back,然后你会再次回到主屏幕,事件internet不可用,整个视图就像以前一样,因为我认为不会重新创建

transaction.hide(currentFragment);
transaction.show(detailScreen);
transaction.addToBackStack(null);
transaction.commit();

通过这种方式,我可以在不分离事务的情况下保留事务。它将包含片段的所有信息。

您必须在
BackStack
中管理片段。hii MrSuS,感谢您的回答,但我的问题是假设fragmentManager中已经有三个片段a、B、C。片段C当前已连接到容器,现在,我从滑动菜单中选择片段A,所以在本例中,我从容器中分离片段C,并再次附加片段A。因此,在本例中,片段A的生命周期从onCreateView()开始.虽然我希望片段恢复到以前的状态,但不重新创建其视图。请检查答案。谢谢MrSuS我想我得到了答案。@MrSuS现在我遇到了另一个问题,如果我将片段B添加到片段事务中,并隐藏当前片段A,则在该场景中,来自web服务的数据不会显示在片段B中。而如果我将当前片段“A”替换为“B”,则数据将显示在列表中。