0

В моем MainActivity, у меня есть ViewPager , содержащий два контейнера «A и B». Оба контейнера обладают собственными фрагментами.Запуск Фрагмента от активности

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

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

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

То, что я смог добиться, я успешно перенаправлять контейнерной Бфрагмента одного, но может не в состоянии перенаправить в сторону фрагмента два из onResume из MainActivity, любая помощь будет оценить.

+0

mb in thecreate фрагмент B начать фрагмент два? – PeDuCKA

+0

он основан на условии, я не могу запускать фрагмент два каждый раз, когда вызывается фрагмент B, кодирование в onCreate не помогает – Anurag

+0

Является ли ** Контейнер B ** предполагаемым одновременно содержать несколько фрагментов? – SlashG

ответ

0

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

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

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

0

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

+0

Я не использую намерение в своей основной деятельности, как я уже упоминал, у меня есть viewpager, поэтому я использую метод viewPager setCurrentItem (here_passed_position_B) для запуска контейнераB. – Anurag

+0

@AnuragPandit как создать фрагмент? – PeDuCKA

+0

Работайте вокруг, создайте открытый статический int в фрагменте B как текущий элемент = 0; установите его в нужное положение, прежде чем вы вызовете setCurrentItem() перенаправление на фрагмент B. Итак, когда выбран фрагмент B, он будет устанавливатьCurrentItem (currentItem); ByDefault это будет ноль, или первая страница .. может быть не идеальной ans, но решение может быть. : P –

0

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

+0

Как я могу получить viewPager контейнера B из onResume() MainActivity. – Anurag

+0

Вам не обязательно, если вы уже начинаете B на 'onResume()' вы можете просто поместить это в B onCreate –

0

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

viewpager.setCurrentItem(item, true);