Фрагмент запуска из деятельности

В моей MainActivity у меня есть viewPager, содержащий два контейнера "A и B". Оба контейнера имеют свои фрагменты.

В контейнере B; У меня снова есть viewPager, содержащий несколько фрагментов (например, один, два, три, четыре)

При запуске моего приложения MainActivity получает нагрузку с homeFragment контейнера A.

Что мне нужно сделать, так это то, что для данного условия мне нужно запустить второй фрагмент контейнера B из onResume моей MainActivity.

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

4 ответа

Решение

Конечно, я нашел способ достичь этого, используя статическую концепцию. Я объявил статическую переменную внутри второго фрагмента контейнера B и установил ее значение в onResume MainActivity.

Когда onResume вызывает с заданным условием, он устанавливает значение статических переменных для требуемого фрагмента, и в моем контейнере B я использовал это значение для установки setCurrentItem() B'viewPager.

PS: Я знаю, что это довольно запутанно, как кажется, но не слишком сложно на практике, работает нормально.

Если вы используете Intent для перенаправления на фрагмент B, затем передайте позицию int подфрагмента, а на стороне фрагмента B проверьте наличие дополнений к намерениям и установите текущую страницу, которую вы получили через intent.getIntExtra().

Я думаю, что вы хотите установить конкретную страницу.. так что для этого вы можете установить viewpager как:

viewpager.setCurrentItem(item, true);

Если я все понял, вы захотите показать вторую страницу окна просмотра, когда откроете ее, если вы можете использовать mViewPager.setCurrentItem(1, true);