Maison  >  Article  >  Java  >  Comment remplacer dynamiquement des fragments au sein d’un groupe d’activités ?

Comment remplacer dynamiquement des fragments au sein d’un groupe d’activités ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-18 09:25:02907parcourir

How to Dynamically Replace Fragments within an Activity Group?

Remplacement de fragments au sein d'un groupe d'activités

Cette question concerne le remplacement d'un fragment au sein d'un groupe d'activités par un autre fragment. Le code fourni ne parvient pas à afficher la vue prévue lors de l'exécution sans erreur. Examinons le problème et proposons une solution.

Le problème

Le code initial tente de remplacer un fragment par l'ID R.id.book_description_fragment en le remplaçant par un SectionDescriptionFragment. Cependant, la vue ne s'affiche pas.

La solution

Les fragments définis statiquement en XML ne peuvent pas être remplacés dynamiquement. Pour résoudre cette limitation :

  1. Ajouter des fragments de manière dynamique :Ajoutez dynamiquement les fragments souhaités au groupe d'activités au moment de l'exécution pour faciliter le remplacement.
  2. Remplacer le fragment Code : Utilisez la version mise à jour suivante de l'extrait de code qui remplace dynamiquement fragments :
Fragment newFragment = new SectionDescriptionFragment();
FragmentTransaction transaction = getActivity().getFragmentManager().beginTransaction();
transaction.replace(R.id.fragment_container, newFragment);
transaction.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
transaction.addToBackStack(null);
transaction.commit();
  1. Fragment Container ID : Assurez-vous que R.id.fragment_container correspond à la mise en page ou au conteneur au sein du groupe d'activités qui hébergera les fragments dynamiques .

Clé Notes :

  • N'oubliez pas de définir le conteneur de fragments dans la mise en page XML de votre groupe d'activités.
  • Lors du remplacement de fragments, le contenu du conteneur de fragments sera remplacé par le nouveau fragment .
  • L'utilisation de la méthode addToBackStack permet à l'utilisateur de revenir au fragment précédent.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn