From 7b03a4ba8fac1b294fb2ec43003ff2a2bb209684 Mon Sep 17 00:00:00 2001 From: Agsha Athalla Nurkareem <agshaathalla@gmail.com> Date: Sat, 30 Mar 2024 03:04:49 +0700 Subject: [PATCH] refactor: fragment and bottomNav movement fix --- .../main/java/com/example/bondoman/MainActivity.kt | 8 ++++++-- .../src/main/java/com/example/bondoman/ScanPage.kt | 14 ++++++++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/bondoman/app/src/main/java/com/example/bondoman/MainActivity.kt b/bondoman/app/src/main/java/com/example/bondoman/MainActivity.kt index 08c1b77..1061ab3 100644 --- a/bondoman/app/src/main/java/com/example/bondoman/MainActivity.kt +++ b/bondoman/app/src/main/java/com/example/bondoman/MainActivity.kt @@ -14,7 +14,7 @@ import kotlinx.coroutines.launch class MainActivity : AppCompatActivity() { - private lateinit var binding: ActivityMainBinding + lateinit var binding: ActivityMainBinding private val db by lazy { TransactionDB(this) } override fun onCreate(savedInstanceState: Bundle?) { @@ -25,6 +25,8 @@ class MainActivity : AppCompatActivity() { val serviceIntent = Intent(this, CheckExpiryToken::class.java) startService(serviceIntent) + replaceFragment(TransactionPage(), HeaderTransaction()) + binding.bottomNavigationView.setOnNavigationItemSelectedListener { menuItem -> when (menuItem.itemId) { R.id.scan_cam -> replaceFragment(ScanPage(), HeaderScan()) @@ -53,7 +55,7 @@ class MainActivity : AppCompatActivity() { } } - private fun replaceFragment(fragment: Fragment, header: Fragment) { + fun replaceFragment(fragment: Fragment, header: Fragment) { supportFragmentManager.beginTransaction() .replace(R.id.frame_layout, fragment) .commit() @@ -61,5 +63,7 @@ class MainActivity : AppCompatActivity() { supportFragmentManager.beginTransaction() .replace(R.id.header_layout, header) .commit() + + supportFragmentManager.executePendingTransactions() } } diff --git a/bondoman/app/src/main/java/com/example/bondoman/ScanPage.kt b/bondoman/app/src/main/java/com/example/bondoman/ScanPage.kt index 6be978d..dd98a7c 100644 --- a/bondoman/app/src/main/java/com/example/bondoman/ScanPage.kt +++ b/bondoman/app/src/main/java/com/example/bondoman/ScanPage.kt @@ -301,10 +301,16 @@ class ScanPage : Fragment() { Toast.makeText(requireContext(), "Berhasil menambahkan ${count} transaksi", Toast.LENGTH_SHORT).show() - // return to transaction page - val fragment = TransactionPage() - val transaction = requireFragmentManager().beginTransaction() - transaction.replace(R.id.frame_layout, fragment).commit() + val transactionPage = TransactionPage() + val headerTransaction = HeaderTransaction() + + val mainActivity = activity as? MainActivity + if (mainActivity != null) { + mainActivity.binding.bottomNavigationView.selectedItemId = R.id.bill + mainActivity.replaceFragment(transactionPage, headerTransaction) + } else { + Log.e("ScanPage", "Activity is null. Cannot cast to MainActivity.") + } } } -- GitLab