J'ai un parent Fragment
contenant un enfant Fragment
qui affiche des données.Supprimer de ChildFragmentManager ne fonctionne pas comme prévu
À un certain point, le fragment d'enfant diffuse que l'utilisateur a terminé (qu'il n'y a pas de données à afficher). À ce stade, je veux supprimer ce fragment inutile, mais je ne réussis pas en quelque sorte. Est-ce que je manque quelque chose?
La façon dont je ajouter le fragment au récipient (et il fonctionne très bien):
La façon dont je rabotés à supprimer (mais cela ne fonctionne pas et est toutes les variations j'ai essayé):
Fragment swipe = getChildFragmentManager().findFragmentByTag("swipe");
if (swipe == null){
throw new RuntimeException("Nope");
}
getChildFragmentManager().beginTransaction().remove(swipe).commit();
getChildFragmentManager().beginTransaction().hide(swipe).commit();
getChildFragmentManager().popBackStack();
getFragmentManager().beginTransaction().remove(swipe).commit();
Quelque chose me manque?
Merci
PS: Quand je dis que cela ne fonctionne pas: je veux dire le fragment ne se retire et je n'ai pas de sortie dans logcat
MISE À JOUR
Fragment swipe = getChildFragmentManager().findFragmentByTag("swipe");
if (swipe == null){
throw new RuntimeException("Nope");
}
Log.d("DEBUG", ""+getChildFragmentManager().getFragments().size());
getChildFragmentManager().beginTransaction().remove(swipe).commit();
getChildFragmentManager().popBackStack();
Log.d("DEBUG", ""+getChildFragmentManager().getFragments().size());
A pour un résultat:
1
1
Qu'est-ce qui ne fonctionne pas exactement? Obtenez-vous votre Exception d'exécution? Ou est le fragment non enlevé ..? Avez-vous des informations dans votre logcat? – yennsarah
@Amy désolé, le fragment n'est pas supprimé et je n'ai aucune information/crash dans mon logcat. Échoue silencieusement ... –
Vous n'ajoutez pas votre fragmentTransaction au backstack, donc je ne pense pas que le popping apportera un résultat. Avez-vous essayé de le déboguer? Définissez un point d'arrêt sur le fragment 'swipe' et vérifiez s'il est affiché, caché, deux fois gonflé ou quelque chose comme ça. – yennsarah