android - 错误:类型不匹配:推断类型为单位,但预期为布尔值
问题描述
我在导航抽屉中有错误。我在片段(center_fragment)上的抽屉不工作!
navigationView.setNavigationItemSelectedListener {
drawerLayout.closeDrawers()
when (it.itemId) {
R.id.contact -> findNavController().navigate(
centerFragmentDirections.actionCenterFragmentToContactFragment()
)
R.id.about_us -> findNavController().navigate(
centerFragmentDirections.actionCenterFragmentToAboutFragment()
)
else -> true
}
解决方案
setNavigationItemSelectedListener
期望您返回布尔值,但您没有在 2 个when
分支中返回布尔值:
navView.setNavigationItemSelectedListener {
when (it.itemId) {
R.id.contact -> {
findNavController().navigate(centerFragmentDirections.actionCenterFragmentToContactFragment())
return@setNavigationItemSelectedListener true
}
R.id.about_us -> {
findNavController().navigate(centerFragmentDirections.actionCenterFragmentToAboutFragment())
return@setNavigationItemSelectedListener true
}
else -> true
}
}
推荐阅读
- android - 从Android 10中的最新应用程序中杀死应用程序时如何停止绑定服务
- regex - 如何匹配不属于正则表达式中一组子字符串的字符串?
- jquery - Bootstrap Modal 保留隐藏空间
- arrays - MongoDB - 将集合的 id 与给定数组匹配
- javascript - 如何使用 javascript 或 typescript 在表中获取 tr 的第二个 td 值
- node.js - MongoDB 驱动程序:MongoError:未找到游标,游标 ID:7820213409290816 在命名空间:db_name.collection_name
- android - 以编程方式创建三个具有样式和约束布局链接的 MaterialButton
- report - odoo12 报告多部分
- php - php codigneter中未定义的变量角色
- pymongo - 如何用pymongo大写文档字段?