Мои фрагменты не создаются одновременно - PullRequest
0 голосов
/ 03 марта 2020

Я действительно не понимаю.

Вот моя ситуация:

У меня есть одно действие и три фрагмента. Мои фрагменты организованы с помощью ViewPager, поэтому я могу легко провести между ними (по горизонтали):

Фрагмент 1 (основной, левый) - Фрагмент 2 (средний) - Фрагмент 3 (правый)

Когда Я запускаю свое приложение. Я нахожусь на Фрагменте 1 (слева), и когда я читаю мой Logcat, это указывает, что мой Фрагмент 1 и Фрагмент 2 были созданы и был вызван onResume() (для них обоих). Но не фрагмент 3. Итак, я провожу вправо (до go у фрагмента 2) и только в этот момент могу прочитать: onCreateView() Fragment 3 и onResume() Fragment 3

I go назад на фрагмент 2 и он говорит: onResume() Fragment 1. И я go возвращаюсь к фрагменту 1 (слева), и он говорит: onPause() Fragment 3

Еще одна странная вещь: мой фрагмент 2 (в середине) абсолютно никогда не вызывает onPause () или onResume (), кроме случаев, когда я оставить заявку ...

Это бессмысленно, верно?

РЕДАКТИРОВАТЬ

Я следовал этому уроку, чтобы понять, просмотрщик страниц: https://www.javacodegeeks.com/2013/04/android-tutorial-using-the-viewpager.html

РЕДАКТИРОВАТЬ 2

Когда я отображаю ScanFragment scanfragment = (ScanFragment) getSupportFragmentManager().getFragments().get(0);, возвращается «Фрагмент 1» , но после нескольких ударов возвращает мне «Фрагмент 2»

Кто-то понимает?

1 Ответ

0 голосов
/ 03 марта 2020

Это ожидаемое поведение ViewPager. Он будет создавать виды / фрагменты только при необходимости. Здесь Вы можете узнать больше о ViewPager .

...