J'utilise la méthode suivante pour basculer entre les fragments (dans mon NavigationDrawer) en les affichant / les masquant.
protected void showFragment(int container, Fragment fragment, String tag, String lastTag, boolean addToBackStack ) {
FragmentManager fragmentManager = getSupportFragmentManager();
FragmentTransaction transaction = fragmentManager.beginTransaction();
if ( lastTag != null && !lastTag.equals("")) {
Fragment lastFragment = fragmentManager.findFragmentByTag( lastTag );
if ( lastFragment != null ) {
transaction.hide( lastFragment );
}
}
if ( fragment.isAdded() ) {
transaction.show( fragment );
}
else {
transaction.add( container, fragment, tag );
}
if ( addToBackStack ) {
transaction.addToBackStack( tag );
}
transaction.commit();
// set the active tag
activeFragTag = tag;
}
Ce que je ne sais pas, c'est quelle méthode du cycle de vie des fragments est appelée lorsque je l'affiche ou la masque? (puisqu'il n'y a pas de méthode telle que onShow () ou onHide () je ne sais pas trop quoi utiliser). Je souhaite effectuer des actions spécifiques lors de l'affichage et du masquage d'un certain fragment.
onCreate()
, suivi deonCreateDialog()
, suivi deonCreateView()