Saya menggunakan metode berikut untuk beralih di antara Fragmen (di NavigationDrawer saya) dengan menampilkan / menyembunyikannya.
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;
}
Yang tidak saya jelaskan adalah metode siklus hidup Fragmen mana yang dipanggil saat saya menampilkan atau menyembunyikannya? (karena tidak ada metode seperti onShow () atau onHide () saya tidak yakin apa yang harus digunakan). Saya ingin melakukan tindakan tertentu setelah menampilkan dan menyembunyikan Fragmen tertentu.
onCreate()
, diikuti olehonCreateDialog()
, diikuti olehonCreateView()