0
我有片段A,它使用setTargetFragment调用片段B. 片段B完成某些操作后,会调用getTargetFragment()。onActivityResult()。getTargetFragment()。onActivityResult()不关闭片段
它工作正常(意思是,片段A的回调onActivityResult被调用,因为它应该),但片段B不分离或删除。由于某种原因,用户仍然停留在片段B上。这怎么可能?不应该oActivityResult从堆栈中删除片段,或者至少离开,让用户再次看到片段A?
那么使用常规方法在两个片段之间传输数据和使用TargetFragment onActivityResult之间有什么区别? 在这两种情况下,片段管理器的状态根本不会改变 – BVtp
好吧,如果弹出后退堆栈,您将无法将数据传递到前一个片段,如果在刚刚调用finish()的Activity中使用相同的方法,您将不会传递前一个活动的任何数据。要点是,你不需要重新创建/获取任何这些实例,只需设置一个结果并弹出即可 – Ricardo
这真的很奇怪。我有两种情况,我在片段B中调用onActivityResult。其中一个onActivityResult删除片段B,另一个不包含片段,我必须调用popBackStack。你碰巧知道为什么 – BVtp