Ajouter dynamiquement un fragment dans un fragment
Je n'ai pas été en mesure de trouver un moyen comment ajouter dynamiquement fragment dans les ajoutés dynamiquement fragment. Savez-vous, si c'est possible?
Je suis de la génération des fragments de cette façon:
FragmentManager fragMgr = getSupportFragmentManager();
FragmentTransaction xact = fragMgr.beginTransaction();
if(null == fragMgr.findFragmentByTag(FRAG1_TAG)) {
xact.add(10101010, new DateTime(), FRAG1_TAG);
}
if(null == fragMgr.findFragmentByTag(FRAG4_TAG)) {
xact.add(7777, new loginForm(), FRAG4_TAG);
}
xact.commit();
Comment ajouter dans FRAG4_TAG fragment d'un autre??
Edit2:
J'ai codé en dur c'est l'id de pouvoir travailler avec elle dans le futur (où ll est mon linearLayout en XML):
FrameLayout frml4 = (FrameLayout)inflater.inflate(R.layout.frame,null);
frml4.setId(7777);
frml4.setBackgroundColor(Color.YELLOW);
ll.addView(frml4);
source d'informationauteur Waypoint
Vous devez vous connecter pour publier un commentaire.
Je suppose que le problème que vous rencontrez est qu'il n'est pas gonflé vue d'ajouter le fragment parce que le fragment d'origine, FRAG4_TAG, n'a pas été gonflé avant de vous essayez de l'ajouter.
Vous pouvez passer suffisamment d'informations pour FRAG4_TAG dans le Arguments pour laisser savoir qu'il doit créer et ajouter un fragment (ou ce que tous les fragments que vous en aurez besoin) à lui-même pendant la onCreateView, après le point de vue a été gonflé...
La présentation de l'activité...
L'Activité...
La mise en page de fragment...
Le fragment...
Cet exemple couvre le cas où vous avez besoin d'ajouter dynamiquement des fragments d'un fragment qui n'A PAS déjà été gonflé et ajouté à la hiérarchie. L'ajout d'un fragment à un fragment qui A déjà été gonflé et ajouté à la hiérarchie est aussi simple que juste de spécifier la cible des fragments de conteneur que vous souhaitez ajouter à en ID, comme vous le feriez normalement.
Comme la documentation, "Un fragment doit toujours être incorporé dans une activité".
Ainsi, lorsque vous ajoutez un "sous-fragment" il appartiendra toujours à l'activité, même si vous l'ajoutez dans votre fragment de classe. Par exemple, si vous décidez de supprimer le fragment contenant le sous-fragments ne seront pas supprimés automatiquement.
Lorsque j'ai eu à faire de même, j'ai eu à stocker dans un vecteur de la sous-fragments et de les supprimer manuellement dans le onDestroy méthodes de mon conteneur fragment.
Je pense que les fragments ne sont pas pensés pour être utilisés comme cette
Vous ne pouvez pas insérer des Fragments dans d'autres Fragments. (Au moins, pas encore)
Vous pouvez cependant remplacer les Fragments avec d'autres Fragments avec
FragmentTransaction.replace(containerViewId, Fragment)
.