FragmentPagerAdapter's Fragment не показывает элементы RecyclerView - PullRequest
0 голосов
/ 01 июня 2019

Я думаю, что самый простой способ показать проблему - это рисунок ниже. Когда я нахожусь на домашнем фрагменте и переключаюсь на Недавний, Недавний является фрагментом с ViewPager и TabLayout, элемент, который должен быть в recyclerView, отображается нормально, но когда я возвращаюсь к Домашнему фрагменту и возвращаюсь к Недавнему Предмета больше нет. Я полагаю, что это как-то связано с тем фактом, что когда я возвращаюсь к последнему фрагменту, даже если вызывается onCreate() последнего фрагмента, фрагмент «все», который является первым в ViewPager, не вызывает его. onCreate().

Однако он вызывает onResume(), и я проверяю размер списка в RecyclerView, и в нем все еще есть элемент, он просто не отображается.

Как я могу это исправить?

Есть ли способ заставить FragmentPagerAdapter вызвать onCreate() на его фрагменте, как фрагмент «Все» при возвращении?

enter image description here

1 Ответ

0 голосов
/ 01 июня 2019

Нашел решение, не знал, где вообще искать проблему, поэтому я не опубликовал соответствующий код, чтобы он не был слишком длинным.

При использовании ViewPager внутри Fragment, не используйте getActivity().getSupportFragmentManager() при создании FragmentPagerAdapter, используйте getChildFragmentManager().

Поэтому, когда дело доходит до кода, используйте это:

MyFragmentPagerAdapter adapter = new MyFragmentPagerAdapter(getActivity(), getChildFragmentManager());

Вместо:

MyFragmentPagerAdapter adapter = new MyFragmentPagerAdapter(getActivity(), getActivity().getSupportFragmentManager());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...