Vérifier fragment est présenté dans framelayout ou pas dans android?
Salut les amis j'ai deux framelayout dans movies.xml à savoir conteneur, detail_screen.Dans le conteneur ajouter movies.xml qui contient listview ,et dans detail_screen aura extensible listview appelé movie_details.xml.Maintenant, voulez vérifier par programmation dans detail_screen est déjà fragment présenté ou non.si voulez simplement supprimer ce fragment.Je n'ai par follwing et sa fonctionne très bien.
if (getSupportFragmentManager().findFragmentByTag("MyFragment") != null) {
getSupportFragmentManager().beginTransaction().remove(getSupportFragmentManager().findFragmentByTag("MyFragment")).commit();
}
mais est-il un autre moyen pour savoir si le fragment est présenté ou non dans le cadre de la mise en page dans android par en programmant .Merci d'avance
Sans l'aide de findFragmentByTag()/Id
Vous souhaitez savoir si un fragment est présent sans avoir une référence à elle ou à son conteneur? Il est
je souhaite vérifier si déjà fragment présenté dans ma framelayout juste envie de retirer ce fragment ajouter un nouveau fragment sinon même fragment sera ajouté plus d'une fois à droite
eh bien, si vous utilisez
replace() l'habitude de tenir dans votre cas?
Vous souhaitez savoir si un fragment est présent sans avoir une référence à elle ou à son conteneur? Il est
getSupportFragmentManager().getFragments()
qui récupère une liste de fragments pour que le gestionnaire.je souhaite vérifier si déjà fragment présenté dans ma framelayout juste envie de retirer ce fragment ajouter un nouveau fragment sinon même fragment sera ajouté plus d'une fois à droite
eh bien, si vous utilisez
getSupportFragmentManager().beginTransaction().replace()
il va remplacer ou add - vous n'avez pas à vous soucier de la suppression d'un fragment existantreplace() l'habitude de tenir dans votre cas?
OriginalL'auteur Sugan S | 2013-08-26
Vous devez vous connecter pour publier un commentaire.
J'ai fondé la solution comme suit.j'.e avant d'ajouter des fragments de details_screen juste vérifier si déjà fragment est alors présenté à éclater et puis ajoutera le nouveau fragment.
espère que cela va fonctionner.
OriginalL'auteur Sugan S
Vous ont à utiliser
findFragmentByTag()
oufindFragmentById()
méthodes pour le trouver. En cas de renvoi de l'instance n'est pas null, alors le fragment est présent. En outre, vous pouvez utiliserFragment.isInLayout()
méthode pour vérifier si le fragment a été défini dans la mise en page à l'aide de<fragment>
tag ou ajoutés par programmation.OriginalL'auteur sergej shafarenka