0

Dans mon MainActivity, j'ai un viewPager contenant deux conteneurs "A et B". Les deux conteneurs sont dotés de leurs propres fragments.Lancement Fragment de l'activité

Dans le récipient B; J'ai un nouveau viewPager contenant plusieurs fragments. (Par exemple, un, deux, trois, quatre)

Le lancement de mon application MainActivity obtient la charge avec homeFragment de récipient A.

Ce que je dois faire est, Pour une condition donnée je dois lancer le fragment deux du conteneur B de onResume de mon MainActivity.

Ce que j'ai pu réaliser est, je rediriger avec succès àle fragment de récipient B un mais ne pouvait pas en mesure de rediriger vers fragment deux de onResume de MainActivity, toute aide APPRÉCIÉ.

+0

mb dans le fragment oncréate B commencer le fragment deux? – PeDuCKA

+0

il est basé sur une condition, je ne peux pas lancer le fragment deux à chaque fois que le fragmentB est appelé, codant dans onCréer ne va pas aider – Anurag

+0

Est-ce que ** Container B ** est censé contenir plusieurs 'Fragment's simultanément? – SlashG

Répondre

0

Certainement, j'ai trouvé un moyen d'y parvenir en utilisant un concept statique. J'ai déclaré une variable statique à l'intérieur du fragment B du conteneur B et ai défini sa valeur dans onResume de MainActivity. Lorsque les appels onResume avec une condition donnée définissent la valeur des variables statiques sur le fragment requis, et dans mon conteneur B, j'ai utilisé cette valeur pour définir setCurrentItem() de B'viewPager. Ps: Je sais que c'est assez déroutant car il semble, mais pas trop complexe dans la pratique, fonctionne très bien.

0

Si vous utilisez Intention pour rediriger vers le fragment B, passez la position int du sous-fragment et, côté fragment B, vérifiez les extras d'intention et définissez la page en cours, que vous avez reçue par l'argument intention.getIntExtra().

+0

Je n'utilise pas l'intention dans mon activité principale comme je l'ai mentionné, je viewpager si je utilise la méthode de setCurrentItem viewPager (here_passed_position_B) pour lancer containerB. – Anurag

+0

@AnuragPandit comment créer un fragment? – PeDuCKA

+0

Un travail autour, créer un int statique public dans le fragment B comme élément en cours = 0; mis à la position que vous voulez, avant d'appeler setCurrentItem() redirigeant vers Fragment B. Ainsi, lorsque le fragment B est sélectionné, il setCurrentItem (currentItem); Par défaut, ce serait zéro, ou la première page .. peut-être pas le parfait ans, mais une solution peut être. : P –

0

Si je comprends clairement, vous voulez montrer la deuxième page du viewpager lorsque vous l'ouvrez, le cas échéant, vous pouvez utiliser mViewPager.setCurrentItem(1, true);

+0

Comment accéder au viewPager du conteneur B à partir de onResume() de MainActivity. – Anurag

+0

Vous n'avez pas, si vous êtes déjà à partir de B 'onResume()' vous pouvez simplement mettre cela en onCreate de B –

0

Je pense que vous voulez définir la page spécifique .. afin de le faire vous pouvez définir viewpager comme:

viewpager.setCurrentItem(item, true);