可能答案是“你不能”,因为在 Mosby 2.0 中你需要使用 fragment 并将其设置为 setRetainInstance(true) 以保留 Presenter。Conductor 的目的是消除使用 Fragments 的需要,因此无法在应用程序的任何地方使用 setRetainInstance(true)。
但也许还有另一种方式..
这是 Conductor 的官方 Mosby 插件:
抱歉,我无法发表评论,因为我没有足够的声誉,但 Conductor 正在使用 Conductor.attachRouter 以便在活动中获取实例,而 attachRouter 正在使用 LifecycleHandler 来获取“已保存”(也称为保留实例),因为 LifecycleHandler 是无头片段。因此,为了让您拥有一个不会在配置更改时被破坏的演示者,您必须在控制器的构造函数中创建您的演示者。如果我理解正确,控制器的构造函数具有无头片段的生命周期。所以问题解决了,或者我可能在某个地方犯了错误......