Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.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,这个问题以前被问过,但不是我想要的确切答案 假设我的后堆栈是:A>B>C>D>E>F>G,其中A是第一个片段。如果我只想删除E并将用户导航到D,同时将其他片段保留在backbackback中。我的后堆栈将看起来像:A>B>C>D>F>G 我基本上是在尝试制作Instagram导航,用户的浏览历史记录会保存在底部导航菜单的每一项中 有可能这样做吗?我是否使用FragmentTransaction中的remove()方法?我必须实现一个自定义的后堆栈吗?如果是这样,有人能给我指出正确的方向吗?我也不

这个问题以前被问过,但不是我想要的确切答案

假设我的后堆栈是:A>B>C>D>E>F>G,其中A是第一个片段。如果我只想删除E并将用户导航到D,同时将其他片段保留在backbackback中。我的后堆栈将看起来像:A>B>C>D>F>G

我基本上是在尝试制作Instagram导航,用户的浏览历史记录会保存在底部导航菜单的每一项中

有可能这样做吗?我是否使用FragmentTransaction中的remove()方法?我必须实现一个自定义的后堆栈吗?如果是这样,有人能给我指出正确的方向吗?我也不理解kotlin,所以请用Java编写代码


谢谢

如果您尝试使用导航体系结构组件,您可以解决它。事务使其难以实现。@JDevoloper导航组件可以用于实现单独的后台堆栈吗?我似乎找不到关于那件事的任何消息。你可以从这里学习。。也许你可以,但我不建议你这么做。@JDevoloper我读过,也试过,但在单独的后堆栈中没有运气。我在互联网上到处查看,显然我可以通过使用单独的容器并根据需要隐藏/显示它们来做到这一点。这是个好主意吗?如果你没有更好的解决方案,你就照你说的做。您可以设置后堆叠的方向。方向将管理您的片段。例如,当您转到D然后想要转到B时,您可以设置导航片段的方向。我的意思是有一个方法popBackStack();如果不添加任何参数,它将返回到最后一个片段。但是如果你设置了一个动作id,它会返回你设置的片段。