Używam następującej metody, aby przełączać się między fragmentami (w moim NavigationDrawer), pokazując / ukrywając je.
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;
}
Nie mam pewności, która metoda cyklu życia fragmentów jest wywoływana, gdy ją pokazuję lub ukrywam? (ponieważ nie ma metody takiej jak onShow () lub onHide (), nie jestem do końca pewien, której użyć). Chcę wykonać określone czynności po wyświetleniu i ukryciu określonego Fragmentu.
onCreate()
, po którymonCreateDialog()
następuje, a następnieonCreateView()