2016-04-12 1 views
2

おそらく答えは "できません"です。Mosby 2.0では、フラグメントを使用してsetRetainInstance(true)に設定してPresenterを保持する必要があるためです。指揮者の目的は、フラグメントを使用する必要性を取り除くことです。そのため、アプリケーションのどこでもsetRetainInstance(true)を使用する方法はありません。Androidで指揮棒フレームワークを使用する場合、Mosbyのプレゼンターを保存するにはどうすればよいですか?

しかし、おそらく別の方法があります。..

私は十分な評判を持っていないので、私はコメントすることはできません申し訳ありませんが、指揮はアクティビティ内のインスタンスを取るためにConductor.attachRouterを使用しているとattachRouterがでLifecycleHandlerを使用している
+1

私は本当に導体のように。これは非常にすぐに来るでしょう。 Mosby 3.0ライブラリには含まれませんが、簡単に統合するためMosbyからConductorへのバインディングを提供する別のライブラリを提供します。私はこれと4月末のMosby 3.0について作業する予定です。おそらくスナップショットは来週利用可能です。 – sockeqwe

+1

あなたが解決策を見つけたらここであなたの解決策を共有してください。答えとしてマークします。 :)あなたの素晴らしい仕事をありがとうございました。 – SuitUp

答えて

5

は、導体の公式モスビープラグインです:

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

+0

プレゼンターのライフサイクルはどのくらいですか?それは構成の変更を生き残っていますか? – SuitUp

+1

断片/活性体にかなり類似しています。プレゼンターはViewが存続する限り生きています。したがって、基本的にプレゼンターはConductorsコントローラー 'onCreateView()'で作成され、 'onDestroyView()'コントローラーでは画面の向きが変更されます。そう、はい、プレゼンターは画面の向きの変化に耐えます。 – sockeqwe

2

LifecycleHandlerはヘッドレスフラグメントであるため、「保存済み」(別名保持されたインスタンス)を取るように指示します。ですから、あなたが構成変更で破壊されていないプレゼンターを持つためには、コントローラーのコンストラクター内にプレゼンターを作成するためにそれをすべて行う必要があります。私が正しいことを理解していれば、コントローラーのコンストラクターにはヘッドレスフラグメントの寿命があります。だから、問題解決や、私はどこかでミスを犯したかもしれないが...。ここ

+0

あなたは正しいです。これは私のために多くのことをクリアしました、ありがとうございました。 –

関連する問題