片段 onResume() 和 backStack 问题

4
我在从另一个片段返回时无法恢复我的片段。
场景:
我有一个“片段A”。现在我正在使用帧布局在“A”内部打开多个片段,比如:A1、A2、A3...。
现在我正在从A1/A2/A3中的一个中启动一个新的片段,称为“片段B”。
我对“片段B”执行了一些操作,现在当我弹出我的“片段B”时,我无法获取“片段A”的onResume()。
只需要在从“片段B”返回时获得onResume()。
需要任何帮助!
非常感谢!
谢谢。

你的代码片段组织方式不清楚,请提供更多详细信息。 - Mimmo Grottoli
2个回答

1
使用子片段管理器从片段A启动片段A1、A2、A3,并使用主要片段管理器启动片段B。
例如:执行任何片段操作时,我们有两个片段管理器。如果您在片段内执行任何片段操作,则应该使用getChildFragmentManager()代替getSupportFragmentManager()。
现在,在这里启动片段A1、A2和A3时,您应该使用getChildFragmentManager()。当启动片段B时,您应该使用getSupportFragmentManager()。因此,当您从片段B返回时,您将在片段A中获得onResume回调。

谢谢AK Ali。我正在做类似的代码工作。让我检查一下,稍后会更新给你。 - AndroidHacker
感谢AK Ali的回复。我使用接口解决了这个问题。我会向大家更新我的解决方案。 :) - AndroidHacker
嗨,AndroidHacker,我遇到了同样的问题,你能发一下你用来解决这个问题的代码吗? - MidasLefko

0

当您添加了片段B后,是否使用此命令将事务添加到后退栈中:addToBackstack(null); 通过这种方式,当您按下片段B上的返回按钮并返回片段A时,可以恢复先前的状态。


是的.. 我在启动Fragment B时使用了addToBackstack(null); 但没有成功... - AndroidHacker

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接