我的手势有误,这是我的代码错误,startActivity(intent)
和Toast.makeText
中的错误
R.id.menu_share -> {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://web.whatsapp.com"))
startActivity(intent)
}
R.id.menu_info -> {
Toast.makeText(this,"Ada Toast", Toast.LENGTH_LONG).show()
}
else -> false
答案 0 :(得分:0)
R.id.menu_share -> {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://web.whatsapp.com"))
startActivity(intent)
}
R.id.menu_info -> {
Toast.makeText(this,"Ada Toast", Toast.LENGTH_LONG).show()
}
else -> {
// you can either left this block empty or just put `return`
}
答案 1 :(得分:0)
我们需要更多代码才能为您提供完整的答案,但是我可以尝试假设并为您提供最接近的答案。
when
可以以两种方式使用
如果将其用作switch
,即根据具体情况采取不同的措施
您不需要返回值,也不需要else
语句
例如:
when (menuItem.id) { /** I guess you're trying to perform differet actions based on menu item click */
R.id.menu_share -> {
val intent = Intent(Intent.ACTION_VIEW, Uri.parse("https://web.whatsapp.com"))
startActivity(intent)
} /** returns Unit */
R.id.menu_info -> {
Toast.makeText(this,"Ada Toast", Toast.LENGTH_LONG).show()
} /** returns Unit */
} /** result ignores / Unit */
使用when
的另一种方式是作为表达式,这就是您希望语句返回值的时候。
在这种情况下,您必须填写所提供类型的所有可能情况,或者如果类型不能验证所有其他选项,例如else
,{{1} }
例如:
Int
要解决此问题,您需要在所有这种情况下返回相同的类型
String
我希望我的解释能够回答您的问题,如果不是这样,欢迎您发表评论。