diff --git a/app/src/main/java/io/legado/app/ui/main/MainActivity.kt b/app/src/main/java/io/legado/app/ui/main/MainActivity.kt index ee3e27ee3..0556b0588 100644 --- a/app/src/main/java/io/legado/app/ui/main/MainActivity.kt +++ b/app/src/main/java/io/legado/app/ui/main/MainActivity.kt @@ -139,7 +139,6 @@ open class MainActivity : VMBaseActivity(), upBottomMenu() initView() upHomePage() - bindNavigationListener() } override fun onResume() { @@ -387,7 +386,7 @@ open class MainActivity : VMBaseActivity(), realPositions[index] = idMy bottomMenuCount = index + 1 - binding.viewPagerMain.adapter = TabFragmentPageAdapter(this) + binding.viewPagerMain.adapter?.notifyDataSetChanged() if (AppConfig.showBottomView) { window.setNavigationBarColorAuto(themeColor(com.google.android.material.R.attr.colorSurfaceContainer)) @@ -460,16 +459,16 @@ open class MainActivity : VMBaseActivity(), } } - } - - private fun bindNavigationListener() { - val navView = getNavigationBarView() navView.setOnItemSelectedListener { onNavigationItemSelected(it) } navView.setOnItemReselectedListener { onNavigationItemReselected(it) } + binding.viewPagerMain.post { - binding.viewPagerMain.setCurrentItem(pagePosition, false) - getNavigationBarView().menu[pagePosition].isChecked = true + val currentPosition = if (pagePosition < bottomMenuCount) pagePosition else 0 + binding.viewPagerMain.setCurrentItem(currentPosition, false) + getNavigationBarView().menu[currentPosition].isChecked = true + updateBackCallbackState() } + } private fun upHomePage() {