如何保护莫斯比';在Android中使用Conductor框架时,演示者是谁?

如何保护莫斯比';在Android中使用Conductor框架时,演示者是谁?,android,mvp,mosby,Android,Mvp,Mosby,答案可能是“您不能”,因为在Mosby 2.0中,您需要使用fragment并将其设置为setRetainInstance(true)以保留Presenter。导体的目的是消除使用片段的需要,因此在应用程序的任何地方都无法使用setRetainInstance(true) 但是,也许还有另一种方法。很抱歉,我无法发表评论,因为我没有足够的声誉,但Conductor正在使用Conductor.attachRouter在活动中执行实例,而attachRouter正在使用LifecycleHandle

答案可能是“您不能”,因为在Mosby 2.0中,您需要使用fragment并将其设置为setRetainInstance(true)以保留Presenter。导体的目的是消除使用片段的需要,因此在应用程序的任何地方都无法使用setRetainInstance(true)


但是,也许还有另一种方法。

很抱歉,我无法发表评论,因为我没有足够的声誉,但Conductor正在使用Conductor.attachRouter在活动中执行实例,而attachRouter正在使用LifecycleHandler执行“已保存”(又称保留实例),因为LifecycleHandler是一个无头片段。因此,为了让您拥有一个不会在配置更改时被销毁的演示者,您必须在控制器的构造函数中创建演示者。如果我理解正确,控制器的构造函数具有无头片段的生命周期。所以问题解决了,或者我可能在某个地方出错了…

这是导体的官方Mosby插件:


我真的很喜欢指挥家。这很快就会到来。将不是Mosby 3.0库的一部分,但我将提供另一个库,该库提供从Mosby到导体的绑定,以便轻松集成它。我计划在四月底开发这个和Mosby 3.0。下周可能会有一个快照。很酷,当你得到它时,在这里共享你的解决方案,我会将它标记为答案。:)非常感谢您出色的工作。演示者的生命周期是什么?它能经受住配置更改吗?非常类似于片段/活动。演示者的寿命与视图的寿命相同。因此,除了屏幕方向的更改外,基本上演示器是在控制器
onCreateView()
中创建的,而在控制器
onDestroyView()
中解除锁定。所以,是的,演示者在屏幕方向改变后幸存下来。你是对的。这为我澄清了很多事情,谢谢。