Ich verwende die folgende Methode, um zwischen Fragmenten (in meinem NavigationDrawer) zu wechseln, indem ich sie ein- / ausblende.
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;
}
Was mir unklar ist, ist, welche Methode des Fragment-Lebenszyklus aufgerufen wird, wenn ich sie ein- oder ausblende? (Da es keine Methode wie onShow () oder onHide () gibt, bin ich mir nicht ganz sicher, was ich verwenden soll). Ich möchte bestimmte Aktionen ausführen, wenn ein bestimmtes Fragment ein- und ausgeblendet wird.
onCreate()
, gefolgt vononCreateDialog()
, gefolgt vononCreateView()