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 08c1b7711c5c1c6e4d8ce781e20e989a37e8ac41..1061ab31ae2dfb8f22997bb0b1198936e782abe6 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 6be978dfa1c042a9ee2ba608d5df8a70a333a118..dd98a7c40d3a77f3596d74a080ed2c99a662ea66 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.") + } } }