From deac9ab77857c54aa719d572e3746ad3da931e27 Mon Sep 17 00:00:00 2001 From: tobias ns <13521090@std.stei.itb.ac.id> Date: Fri, 5 Apr 2024 09:21:20 +0700 Subject: [PATCH] fix: backstack problem on navigation --- .../if3210_2024_android_aab/MainActivity.kt | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/com/example/if3210_2024_android_aab/MainActivity.kt b/app/src/main/java/com/example/if3210_2024_android_aab/MainActivity.kt index b72b7f1..1192c8d 100644 --- a/app/src/main/java/com/example/if3210_2024_android_aab/MainActivity.kt +++ b/app/src/main/java/com/example/if3210_2024_android_aab/MainActivity.kt @@ -148,7 +148,21 @@ class MainActivity : AppCompatActivity() { // } // } - private fun replaceFragment(fragment: Fragment) { - supportFragmentManager.beginTransaction().replace(R.id.frame_layout, fragment).addToBackStack(null).commit() + private fun replaceFragment(fragmentToShow: Fragment) { + val fragments = supportFragmentManager.fragments + val transaction = supportFragmentManager.beginTransaction() + for (fragment in fragments) { + if (fragment != fragmentToShow) { + transaction.hide(fragment) + } + } + + if (!fragmentToShow.isAdded) { + transaction.add(R.id.frame_layout, fragmentToShow) + } else { + transaction.show(fragmentToShow) + } + + transaction.commit() } } \ No newline at end of file -- GitLab