替换 SingleTask 活动中的片段
Posted
技术标签:
【中文标题】替换 SingleTask 活动中的片段【英文标题】:Replacing fragments in SingleTask activities 【发布时间】:2020-08-20 18:53:38 【问题描述】:活动 A 是一个 SingleTask 活动。在其 OnCreate 回调中,我创建一个片段并将其附加到布局。
Activity B 现已启动,A 已暂停并调用其 OnSaveInstanceState。
现在以新的意图重新调用活动 A(由于 B 中的交互)。在 OnNewIntent() 中,我根据新意图创建一个新片段并替换之前的片段。
这会导致 IllegalStateException:在 onSaveInstanceState 之后无法执行此操作。
这样做的正确方法是什么?即使调用了 OnNewIntent(),框架似乎仍然认为 A 处于暂停状态。
【问题讨论】:
【参考方案1】:您需要调用super.onNewIntent(intent)
来更新 FragmentManager 的状态,以便您可以执行 FragmentTransactions。
【讨论】:
以上是关于替换 SingleTask 活动中的片段的主要内容,如果未能解决你的问题,请参考以下文章