【发布时间】:2020-10-19 05:22:56
【问题描述】:
我正在使用 BottomNavigationView 和 Jetpack Navigation。我还将所有 Fragments 设置为顶级目的地。
val host : NavHostFragment = supportFragmentManager
.findFragmentById(R.id.nav_host_fragment) as NavHostFragment? ?: return
val navController = host.navController
val appBarConfig = AppBarConfiguration(topLevelDestinationIds = setOf(R.id.library_fragment,R.id.account_fragment,R.id.calender_fragment,R.id.home_fragment,R.id.notice_fragment))
val bottomNavView = binding.bottomNavView
setSupportActionBar(binding.toolbar)
setupActionBarWithNavController(navController,appBarConfig)
bottomNavView.setupWithNavController(navController)
在第二个底部导航菜单项上有LibraryFragment,我在其中使用TabLayout。 LibraryFoldersFragment 对应于LibraryFragment 内部的一个 Tab。 LibraryFoldersFragment 包含一个 RecyclerView。单击RecyclerView 项目时,LibraryFilesFragment 将替换LibraryFoldersFragment。
val fragment = LibraryFilesFragment.newInstance(item)
childFragmentManager.beginTransaction().addToBackStack(null).replace(R.id.frameLayout, fragment)
.commit()
问题是在LibraryFilesFragment 应用程序中按下后退按钮时直接导航到第一个底部导航菜单项。但我希望它导航到LibraryFoldersFragment。
【问题讨论】:
-
你在使用
ViewPager2(完全取代ViewPager)吗? -
@ianhanniballake 我正在使用
ViewPager2。我还上传了我的应用的屏幕截图。
标签: android android-jetpack android-jetpack-navigation