如何解决BottomNavigationView,如何在一项上调用函数,而对其他项使用 AppBarConfiguration?
这是配置 BottomNavigationView
导航的正常方式:
val appBarConfiguration = AppBarConfiguration(setof(R.id.navigation_home,R.id.navigation_months,R.id.navigation_due_date_calculator))
setupActionBarWithNavController(navController,appBarConfiguration)
navView.setupWithNavController(navController)
但是,如果您想为一个按钮调用一个函数而不是打开一个片段会怎样?
我试过这个:
navView.setonNavigationItemSelectedListener {
when (it.itemId){
R.id.navigation_other_useful_apps -> {
Toast.makeText(applicationContext,"Other Useful Apps",Toast.LENGTH_SHORT).show()
true
}
else -> true
}
}
问题是,当我添加该方法时,导航不再起作用。如何在一项上调用函数,而对其他项使用 AppBarConfiguration
?
解决方法
您必须覆盖 onOptionsItemSelected
函数,它会调用该函数而不是打开片段
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
R.id.navigation_other_useful_apps -> {
Toast.makeText(applicationContext,"Other Useful Apps",Toast.LENGTH_SHORT).show()
return true;
}
}
return super.onOptionsItemSelected(item)
}
或者试试这个
navView.menu.findItem(R.id.navigation_other_useful_apps )
.setOnMenuItemClickListener { menuItem: MenuItem? ->
Toast.makeText(applicationContext,Toast.LENGTH_SHORT).show()
true
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。