私のアプリケーションでViewPagerに100の同じフラグメントを実装します。このフラグメントは、サーバーからのかなり大きな表示データです。私がコードmViewPager.setOffscreenPageLimit (100)
を置くと、アプリは非常に重いと感じます。したがって、私は方法を使用します:setOffscreenPageLimit
を削除し、サーバー上のデータをチェックするメソッドを呼び出すと、フラグメントが選択されたときに表示されます。しかし、これが起こると、フラグメント "1"が選択された後、フラグメント "2"に、フラグメント "1"に戻ると、フラグメント "1"がアクティビティを繰り返す。私の質問は、各フラグメントのアクティビティを維持する方法が選択されているか、最後の条件で選択されたフラグメントに戻るときですか?私の英語には申し訳ありません。各フラグメントを内側のViewPagerで保持しますか?
1
A
答えて
0
あなたがsetOffscreenPageLimitを削除する場合は、各フラグメントの活性を維持する方法がでフラグメントの状態データを格納している:あなたは再び、あなたがでフラグメントを更新するとき、あなたはそれを残すとき
@Override
public void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putData("key", fragmentData);
}
あなたが保存した状態データ。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
fragmentData = savedInstanceState.getData("key", defaultData);
}
ビューページでいくつかのフラグメントを使用する必要があります。あまり使用しないでください。フラグメントを使用し、多数のビュー、データを表示することを考えてください。
0
setOffscreenPageLimit: は でビュー階層に現在のページのいずれかの側にアイドル状態を維持しなければならないページ数を設定します。この制限を超えるページは、必要に応じて アダプタから再作成されます。
ビューページャーがページをアクティブに保ち、アプリケーションがゆっくり実行できるようにするため、オフスクリーンサイズを大きく設定しないでください。また、setOffscreenPageLimitを削除すると、この設定のデフォルトは1になります。つまり、この制限(1)を超えたページは、必要に応じてアダプタから再作成されます。 https://developer.android.com/reference/android/support/v4/view/ViewPager.html#setOffscreenPageLimit(int)
関連する問題
- 1. フラグメント内の内側のフラグメントを持つViewPagerのリスナーを処理します
- 2. Android - フラグメント内にViewpagerの状態を保存しています
- 3. ViewPagerフラグメントを保存する
- 4. Android:tablayout/viewpagerフラグメントまたはアクティビティ内のフラグメント
- 5. アクティビティ内のフラグメント内のViewPager
- 6. 1つのフラグメントから別のフラグメントにデータを渡す| ViewPagerフラグメントの内容を変更する(ViewPager内)
- 7. ViewPager内でフラグメントを参照する
- 8. フラグメント内ViewPagerは子フラグメントをロードするのに時間がかかります
- 9. アンドロイド:ViewPagerの各フラグメントに応じてActionBarアイテムを更新しますか?
- 10. ViewPagerの各セクションでフラグメントを使用するには
- 11. ViewPager内の別のフラグメントでフラグメント化する
- 12. フラグメント内のviewPagerフラグメントで動作するSharedElementの使い方
- 13. ANDROID:instantiateItemメソッド内の異なるフラグメントを持つViewPager
- 14. SharedElementをフラグメント内のviewPagerフラグメントで動作させる方法
- 15. ViewPager内でフラグメントを別のフラグメントに置き換える
- 16. Androidは、フラグメント内のViewPagerをリフレッシュします
- 17. Drawer + Tab + ViewPagerと各フラグメントのサーバからのデータロード
- 18. getView()内でnullを返すViewPager内のフラグメント
- 19. RecyclerView内のフラグメントViewPager他のページのインターセプトページイベント
- 20. ViewPagerの別のフラグメントのフラグメント内のリストビューをリフレッシュ/更新できません
- 21. ViewPager内部のフラグメントの問題
- 22. フラグメントのヌルを返すViewpager
- 23. アクティビティからViewPager内のフラグメントを起動する方法
- 24. ViewPagerは - フラグメント
- 25. ViewPagerフラグメント負荷
- 26. TabLayoutはViewPagerフラグメントと重複します
- 27. ViewPagerのAndroidオープン・フラグメント
- 28. TabLayoutでViewPagerがフラグメント内で動作しないAndroid
- 29. ViewPagerのフラグメントからソフトキーボードを隠す
- 30. アンドロイドTabLayoutとViewPagerがフラグメント内で機能しない