3

我正在玩 Mortar / Flow / Dagger2。
我的应用有 2 个屏幕:

  • 屏幕 1 显示了谷歌地图。我直接使用 MapView 对象而不是 MapFragment,并且我将它正确连接到根活动生命周期事件。

  • 屏幕 2 显示了来自地图标记的一些信息。我们从屏幕 1 到屏幕 2 通过Flow.get(context).goTo(new Screen2());

问题是,当我从屏幕 2 回到屏幕 1 时,使用Flow.get(context).goBack();,屏幕 1 和它的 MapView 从头开始​​重新创建,失去以前的状态等等。确实,我可以看到 screen1 的视图和它的演示者都被破坏了当我导航到屏幕 2 时。因此,返回屏幕 1 会重新创建所有内容。

我知道有一种机制可以保存和恢复 Flow 示例中的视图状态(我正在使用它),但这似乎还不够。

有没有办法在 backstack 中保存和恢复屏幕 1 的视图和演示者的状态?为了拥有正确的导航工作流程,就像使用 Activity1 和 Activity2 自然完成一样。

谢谢!

4

0 回答 0