gpt4 book ai didi

AndroidX JetPack NavigationUI - 覆盖抽屉中非导航项目的操作

转载 作者:太空狗 更新时间:2023-10-29 14:37:44 24 4
gpt4 key购买 nike

我刚开始使用 Android NavigationUI 通过抽屉菜单实现 fragment 导航。虽然它确实有点像魔术,但我有一个主要问题。也就是说,我在菜单中有一个 logout 项,它不应导航到任何 fragment ,而是导航到“操作”。虽然我在这里发现了类似的问题,例如 this第一,我还没有找到我的问题的明确答案。以下是我目前用来设置导航的函数:

private fun setupNav() {
val binding: ActivityMainMenuBinding = DataBindingUtil.setContentView(this,
R.layout.activity_main_menu)
drawerLayout = binding.drawerLayout
navController = Navigation.findNavController(this, R.id.content_frame)
appBarConfiguration = AppBarConfiguration(navController.graph, drawerLayout)

// Set up ActionBar
setSupportActionBar(binding.toolbar)
setupActionBarWithNavController(navController, appBarConfiguration)
binding.navView.setupWithNavController(navController)
}

如果您对我如何解决这个问题有任何建议,如果您能分享它们,我们将不胜感激。

最佳答案

你只需要添加下面提到的代码

    nav_view.menu.findItem(R.id.nav_logout).setOnMenuItemClickListener {
Log.e("=>"," You clicked on logout !!! ")
true
}

这是我的完整代码

    class NavigationDrawerActivity : AppCompatActivity() {

private lateinit var appBarConfig: AppBarConfiguration

override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_navigation_drawer)
setSupportActionBar(toolbar)

val navController: NavController = findNavController(R.id.nav_host_fragment)

appBarConfig = AppBarConfiguration(
setOf(
R.id.nav_home,
R.id.nav_gallery,
R.id.nav_slideshow,
R.id.nav_tools,
R.id.nav_share,
R.id.nav_send
)
, drawer_layout
)

setupActionBarWithNavController(navController, appBarConfig)
nav_view.setupWithNavController(navController)

//For log out button related stuff
nav_view.menu.findItem(R.id.nav_logout).setOnMenuItemClickListener {
Log.e("=>"," You clicked on logout !!! ")
true
}
}

override fun onSupportNavigateUp(): Boolean {
return findNavController(R.id.nav_host_fragment).navigateUp(appBarConfig)
|| super.onSupportNavigateUp()
}
}

您还可以通过此 this linkGit Hub checkout 我的项目

关于AndroidX JetPack NavigationUI - 覆盖抽屉中非导航项目的操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53295011/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com