我有以下问题,我不确定这是不是我的错误或误解。
我有一项活动,Fragment A
(附加到活动的onCreate方法)和Fragment B
(在创建期间未附加到活动) 。点击按钮后,Fragment A
会被Fragment B
替换为转换。到目前为止一切都很好。
在Fragment B
上有一个按钮,可以调用fragmentManager.popBackStackImmediate()
。 如果我按下此按钮并同时关闭屏幕(在片段转换期间)然后,当屏幕重新打开时,两个片段可见(片段B应该已被销毁) ,但事实并非如此)。
此问题始于支持lib 27.1.0+
。在此之前,在Back堆栈导航期间正确替换了碎片。请记住,我正在使用支持库中的片段。
我阅读了行为更改,但我无法将其中一些内容与我的问题联系起来。
有人知道某些工作或有更多相关信息吗?
提前致谢!
更新: 问题仅存在于Android 6以上的设备上。在Android 7+上,一切正常。
答案 0 :(得分:0)
fragmentManager.beginTrasaction()。replace()。addToBackStack() - 在onCreate中为FragmentA执行此操作,并在单击FragmentB时执行此操作。并尝试popBackStack()。我想你忘了addToBackStack FragmentA。