我一个片段A.我喜欢这个标签add()
它:片段不调用生命周期方法
fragmentTransaction.addToBackStack(special_tag);
然后在片段A.之后的顶部,我只是add()
B片段,我决定移除B片段并返回一个用来片段:
activity.fragmentManager.popBackStackImmediate(special_tag, 0)
当我到达片段A,似乎片段不重新运行它的生命周期方法:onAttach()的onResume()的onCreate()ECT 。
有人可以解释这种行为,也许建议一个替代?
(我需要“刷新”的数据时,我回来片段的第二次)
是什么原因造成这样的结果?
是否有一个干净的解决方案/解决方法?
更新
片段B是GuidedStepFragment
和不具有.replace()
功能。我发现它有finishGuidedStepFragments()
,但它(再次)的行为是相同的(它不会调用片段生命周期功能)
现状:
片段A(简单片段) - >。新增(片段B )(GuidedStepFragment) - >popBackStackImmediate()
或finishGuidedStepFragments()
我添加片段B是这样的:
GuidedStepFragment.add(activity.fragmentManager, fragmentB.createInstance())
您是否在片段A中调用add()??如果是这样,请添加您用于该片段交易的代码。 – Jon
另外,片段A是一个'GuidedStepFragment'? – Jon
@Jon更新!片段A是简单的片段。 – JoshuaMad