Фрагмент запуска из деятельности
В моей 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);