Intereting Posts
Получение имени и электронной почты из списка контактов очень медленно Вытеснить мою деятельность на передний план? Logcat пуст, используя ACRA на устройстве Я получаю «Ошибка: не найден ресурс, который соответствует указанному имени (при значении со значением @ integer / google_play_services_version)» Получил «неподдерживаемый файл класса версии 52.0» после включения модуля в проект Очистить диск / SD-карту кэш-памяти библиотеки изображений Picasso от Android (Java / Android) Вычислить дни между двумя датами и представить результат в определенном формате Альтернативный метод finish () для класса Service? Убить его мертвым Звук не отображается при потоковой передаче между классом java и андроидной активностью Не удалось установить SDK Platform 4.0.3 SQLite не имеет никакого значения? Есть ли способ создать библиотеку в haxe, которую можно назвать изначально на iOS и Android? Советы по переносу с App Inventor на Eclipse Ошибка = Невозможно найти информацию о приборе для: ComponentInfo {} Поймать исключение AsyncTask. Нужна мысль

Android RecyclerView, который находится во Фрагменте, который находится в ViewPager, не перезагружает / обновляет представления, если установлено setOffscreenPageLimit

У меня есть RecyclerView в Fragment который снова находится в ViewPager , когда я ViewPager между страницами ViewPager , я вижу, что onDetach of Fragment , но по какой-то причине RecyclerView по-прежнему присутствует в этой конкретной позиции для Fragment в ViewPager , Положение прокрутки RecyclerView сохраняется, когда я возвращаюсь к отдельному фрагменту.

Я использую FragmentStatePagerAdapter для ViewPager и я возвращаю POSITION_NONE из getItemPosition() но это не имеет никакого эффекта.

Пожалуйста, помогите мне понять проблему здесь.

Solutions Collecting From Web of "Android RecyclerView, который находится во Фрагменте, который находится в ViewPager, не перезагружает / обновляет представления, если установлено setOffscreenPageLimit"

Попробуйте это.

1) MyAdapter extends FragmentStatePagerAdapter

2) Установите Adapter из фрагмента с помощью getChildFragmentManager() например: mViewPager.setAdapter(new MyAdapter(getChildFragmentManager(), getActivity(), this))

3) Из метода ViewPagerFrgment Override setUserVisibleHint

 @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser) { //Update Recyclerview } else { } } 

Это потому, что viewpager использует кэширование mecanism. Прочитайте эту статью:

http://doublenegative.com/fragment-state-restoration-and-the-fragmentstatepageradapter/

FragmentStatePagerAdapter сохраняет состояние и уничтожает фрагменты; Он также восстанавливает состояние, когда фрагменты воссоздаются, что восстанавливает состояние recycleview (положение прокрутки).

От конечного пользователя это то же поведение, что и использование FragmentPageAdapter который сохраняет фрагменты в памяти.

Это нормальное и обычно желаемое поведение.