我的活动中有一些标题之王,它说现在打开了什么样的片段。没关系,当我只是将一个片段替换为另一个片段时,我在onBackPressed
中处理后台堆栈更改时遇到了问题。这是onBackPressed
方法中代码的一部分:
Fragment fragment = fragmentManager.findFragmentById(R.id.main_fragment);
fragmentManager.popBackStack();
fragment = fragmentManager.findFragmentById(R.id.main_fragment);
在第一行fragment=FormFragment{41f01d58 #3 id=0x7f05005f}
,并且在调用popBackStack
之后我再次fragment=FormFragment{41f01d58 #3 id=0x7f05005f}
(但它应该是另一个片段,甚至不是FormFragment
实例)。
在调用popBackStack
之后,有什么办法可以找出从后台堆叠中弹出的片段吗?
答案 0 :(得分:2)
首先,通常您不必自己弹出碎片堆栈。如果您的活动是FragmentActivity
,则其默认onBackPressed()
将为您完成工作。
要在从后面的堆栈中弹出片段时更新标头,请将标头更新代码放在片段的onResume()
中。