0

タイトルが示すように、私はフラグメントを保持したい。私はアプリのオリエンテーションを常にマニフェストファイルのランドスケープモードにして、回転がないようにしました。ViewPagerでフラグメントインスタンスを保持する(設定変更なし)

私が読んでいる: Understanding Fragment's setRetainInstance(boolean)Why use Fragment#setRetainInstance(boolean)? をしかし、私は彼らが私の状況に該当する場合を確認していません。

私のプロジェクトはスワイプタブ付きのViewPagerで構成されています。 MainActivityを最初に起動したときに、ViewPagerで使用されているフラグメントと作成されたフラグメントが同じであることを確認するにはどうすればよいですか?同じタグ付け方法とタグでfindfragmentを使用しますか?

さらに、タグ付けされたフラグメントを確認するのはどこですか?そうでない場合は、新しいフラグメントを作成しますか?

ViewPagerに関連するちょっとした質問:スワイプイベントが発生するのを待つのではなく、mainactivityが開始されたときに、ViewPagerで使用されているすべてのフラグメントをすぐに作成するにはどうすればよいですか?

答えて

0

最後の質問ビューページャに答えるには、デフォルトで現在のフラグメントの周りにフラグメントを作成し、その部分について心配する必要はありません。私がお勧めしたいのは、パフォーマンスの問題に直面している可能性があるため、ビューページャーがあなたのフラグメントを管理し、動作を変更することです。

SetRetainInstanceは、デタッチしたときにフラグメントのインスタンスを保持するだけなので、使用する必要があるかどうかを判断するのはあなた次第です。そうでない場合は、それを使用しないで、可能な限りあなたの記憶を解放してください。

なぜ、初めて作成された同じフラグメントを保持する必要があるのですか?いつも?あなたがそれをしなければならないなら、構造化を再考してください。あなたの断片を優雅に再現し、あなたが心配しているものならば、別の層にあなたのデータをいくつかキャッシングすることができます。

+0

こんにちはNilesh/Jay、ありがとうございます。それは、私が実際にフラグメントインスタンスを保持する必要があるかどうかについて考えるよう促しました。そして、それは必須ではないように見えます。 –

+0

@ImranHamidこれがあなたの質問に答えたと思うなら、心配する必要はありません。 –

関連する問題