Fragmentのライフサイクルにおける保持されるインスタンスの唯一の違いは、onCreate()
が呼び出されないことです。しかし、この状態ではViewはまだ膨張していません。プレゼンター:setRetainInstance(true)フラグメントで非同期処理を開始するタイミング
setRetainInstance(true)
ののフラグメントをPresenter
のように呼び出す必要がありますか?私はloadNews()
に、フラグメントの新しいインスタンスが作成されたときにのみしたいと思います。
はい、私はMosbyのViewStateを使用します。しかし、 'Fragment.setRetainInstance(true)'を実行すると、画面の回転後に 'bundle == null'と表示されます。 – Alexandr
それから 'MvpViewStateFragment.onNewViewState()'を使い、そこに 'presenter.loadData()'を入れてください。 'onNewViewState()'はフラグメントが初めて生成されるときにのみ呼び出されるので、 "onFirstTime()"と似ています。 – sockeqwe
別の問題に直面しました。ビューがインスタンス化される前に実行されたonNewViewState。私は、ViewのメソッドコードをHandlerでラップして解決策を見ています。他のアイデア? – Alexandr