3

Mortar/Flow/Dagger2で遊んでいます。
私のアプリには2つの画面があります:

  • 画面 1 に Google マップが表示されます。MapFragment ではなく MapView オブジェクトを直接使用しており、ルート アクティビティのライフサイクル イベントに適切にフックしました。

  • 画面 2 は、マップ マーカーからの情報を示しています。画面 1 から画面 2 に移動します。Flow.get(context).goTo(new Screen2());

問題は、スクリーン 2 からスクリーン 1 に戻ると、 を使用Flow.get(context).goBack();してスクリーン 1 とその MapView がゼロから再作成され、以前の状態などが失われることです。実際、スクリーン 1 とそのプレゼンターのビューの両方が破棄されていることがわかります。画面 2 に移動すると、画面 1 に戻るとすべてが再作成されます。

フロー サンプルにビュー ステートを保存および復元するメカニズムがあることは知っていますが (私はそれを使用しています)、十分ではないようです。

バックスタックで、画面 1 のビューとプレゼンターの状態を保存して復元する方法はありますか? Activity1 と Activity2 で自然に行われるように、正しいナビゲーション ワークフローを実現するためです。

ありがとう!

4

0 に答える 0