【发布时间】:2021-07-09 05:15:56
【问题描述】:
我对 Android 编程相当陌生。我到处寻找答案,但我认为我不知道这个问题的根源。问题来了:
我今天在我的应用中添加了一个导航抽屉,我有 5 个不同的片段,我想在它们之间切换。一切都很顺利,除了最重要的事情:点击导航抽屉按钮时调用。
为简单起见,导航抽屉目前只有两个按钮:主页和关于。
这是我的 onNavigationItemSelected :
override fun onNavigationItemSelected(item: MenuItem): Boolean {
when (item.itemId) {
R.id.nav_home -> {
Toast.makeText(this, "Home clicked", Toast.LENGTH_SHORT).show()
}
R.id.nav_about -> {
Toast.makeText(this, "About clicked", Toast.LENGTH_SHORT).show()
}
}
binding.drawerLayout.closeDrawer(GravityCompat.START)
return true
}
如您所见,抽屉确实关闭了,但没有出现 Toast。我已经在 OnCreate 下面添加了这个:
navigationView.setNavigationItemSelectedListener(this)
所以我不知道到底发生了什么?!为什么 onNavigationItemSelected 执行而不是“when”表达式?!
没有错误,没有警告,没有崩溃,没有任何事情。我点击按钮,什么也没有发生。
【问题讨论】:
标签: android android-studio kotlin navigation-drawer androidx