Я реализую тот же фрагмент 100 в ViewPager в своем приложении. Фрагмент довольно большой отображает данные с сервера. Когда я помещаю код mViewPager.setOffscreenPageLimit (100)
, приложение выглядит очень тяжелым. Поэтому я использую способ: remove setOffscreenPageLimit
и вызывается метод проверки данных на сервере и отображает его при выборе фрагмента. Но когда это происходит: когда был выбран фрагмент «1», а затем фрагмент «2», назад к фрагменту «1», фрагмент «1» повторит действие. Мой вопрос заключается в том, как сохранить активность каждого фрагмента или вернуться к фрагменту, который был выбран в последнем условии? Извините за мой английский.сохранить каждый фрагмент, выбранный внутренним ViewPager?
ответ
если вы удалите 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);
}
Вы должны использовать некоторые фрагменты в viewpager, не используйте слишком много. подумайте об использовании фрагмента и отобразите много представлений, данных в нем.
setOffscreenPageLimit: Устанавливает количество страниц, которые должны быть сохранены, чтобы обе стороны от текущей страницы в иерархии представлений в незанятом состоянии. Страницы, выходящие за этот предел, будут воссозданы из адаптера , если это необходимо.
Не устанавливайтеOffscreenPageLimit слишком большой, потому что плейер просмотра будет поддерживать активную страницу, поэтому ваше приложение будет работать медленно. И когда вы удаляете setOffscreenPageLimit, этот параметр по умолчанию равен 1. Это означает, что страницы, выходящие за пределы этого предела (1), будут воссозданы из адаптера, когда это необходимо. https://developer.android.com/reference/android/support/v4/view/ViewPager.html#setOffscreenPageLimit(int)
- 1. Фрагмент видимый каждый второй вид в Viewpager
- 2. Сохранить фрагмент в ViewPager после поворота
- 3. Добавить фрагмент в фрагмент viewPager
- 4. Фрагмент ViewPager Прогресс Диалог
- 5. Фрагмент - ViewPager Common Layout
- 6. TabLayout ViewPager Очистить фрагмент
- 7. Проблема с внутренним фрагментом ViewPager
- 8. Android viewpager in фрагмент
- 9. Сохранить списокПосмотреть выбранный элемент во фрагменте, имеющем ViewPager
- 10. Добавить Viewpager во фрагмент
- 11. Показанный фрагмент над viewpager
- 12. android-кешировать каждый фрагмент в viewpager, но не загружается, пока фрагмент не будет виден пользователю?
- 13. Фрагмент ViewPager NullPointer issue
- 14. TabLayout - ViewPager - Фрагмент
- 15. Фрагмент с ViewPager выпуска
- 16. Android показать простой Тост на каждый заход на фрагмент ViewPager
- 17. замените фрагмент внутри Viewpager
- 18. Заменить фрагмент в ViewPager
- 19. Фрагмент отображения в ViewPager
- 20. Обновить фрагмент в ViewPager
- 21. Android ViewPager Обновить фрагмент
- 22. ViewPager не показывает Фрагмент
- 23. фрагмент Android viewpager
- 24. ViewPager Фрагмент, создающий
- 25. viewPager не отображает фрагмент
- 26. ViewPager возвращает неправильный фрагмент
- 27. Android viewpager фрагмент lifecyle
- 28. Обновить фрагмент внутри viewpager
- 29. Фрагмент вкладки ViewPager вопрос
- 30. Проверьте выбранный фрагмент Android