在Android中使用Conductor框架时如何保留Mosby的Presenter?

时间:2016-04-12 23:36:42

标签: android mvp mosby

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

但也许还有另一种方式......

2 个答案:

答案 0 :(得分:5)

以下是指挥官的官方Mosby插件:

https://github.com/sockeqwe/mosby-conductor

答案 1 :(得分:2)

很抱歉,我无法发表评论,因为我没有足够的声誉,但是Conductor正在使用Conductor.attachRouter来获取活动中的实例,而attachRouter正在使用LifecycleHandler来获取"已保存的&#34 ; (又名保留实例)因为LifecycleHandler是一个无头片段。因此,为了让您拥有一个不会在配置更改中被销毁的演示者,您只需要在控制器的构造函数内创建演示者。如果我理解正确,控制器的构造函数具有无头片段的生命周期。所以问题解决了,或者我可能在某处犯了错误......