J'utilise la méthode suivante pour passer d'un fragment à l'autre (dans mon tiroir de navigation) en les affichant ou en 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 les affiche ou les cache ? (comme il n'y a pas de méthode telle que onShow() ou onHide(), je ne sais pas trop quoi utiliser). Je veux effectuer des actions spécifiques lors de l'affichage et du masquage d'un certain fragment.