我正在使用底部導航欄。一切正常,但是當我打開一個新片段并使用后退按鈕銷毀它時,我的應用程式將回傳基礎片段,但底部導航欄選定的專案不會改變。它保持最后點擊的位置。讓我用一些圖片來解釋
圖 1 圖 2 圖 3
正如您所看到的,當底部導航欄的所選專案是個人資料專案時,我正在打開片段。然后我使用后按并回傳主片段,但底部導航欄的選定專案仍然是組態檔專案。
主機片段:該函式在 onViewcreated 內部(我正在使用 replacefragment 函式為第一次打開設定基本片段)
binding.bottomNavigationView.setOnItemSelectedListener {
when(it.itemId){
R.id.nav_profile -> {replaceFragment(ProfileFragment())
}
R.id.nav_mainpage -> {replaceFragment(MainPageFragment())
}
}
return@setOnItemSelectedListener true
}
replaceFragment(MainPageFragment())
private fun replaceFragment(fragment: Fragment){
val transaction = activity?.supportFragmentManager?.beginTransaction()
transaction?.replace(R.id.frameLayout,fragment)
transaction?.commit()
}
我試過的:我試過這個方法和它的變體,但它們都不起作用
binding.bottomNavigationView.selectedItemId = R.id.nav_mainpage
uj5u.com熱心網友回復:
嘗試使用這個:
binding.bottomNavigationView.setSelectedItemId(R.id.nav_mainpage)
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/325516.html
下一篇:如何導航到回收站視圖中的片段?
