ฉันใช้วิธีการต่อไปนี้เพื่อสลับระหว่าง Fragments (ใน NavigationDrawer ของฉัน) โดยการแสดง / ซ่อน
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;
}
สิ่งที่ฉันไม่ชัดเจนคือวิธีใดของวงจรชีวิตของ Fragments ที่ถูกเรียกเมื่อฉันแสดงหรือซ่อน (เนื่องจากไม่มีวิธีการเช่น onShow () หรือ onHide () ฉันไม่ค่อยแน่ใจว่าจะใช้อะไร) ฉันต้องการดำเนินการบางอย่างเมื่อแสดงและซ่อน Fragment บางส่วน
onCreate()
ตามด้วยonCreateDialog()
ตามด้วยonCreateView()