在我的android的kotlin项目中,我得到一个错误,说android.R.id.home是未定义的。同时,我将最小的android sdk修复为14.我正在使用Kotlin'1.0.1-2'。
以下是需要它的代码的摘录(它是一个Activity,一个普通的,而不是AppCompatAcitivity)
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.getItemId()){
is android.R.id.home -> {
NavUtils.navigateUpFromSameTask(this)
return true
}
}
return super.onOptionsItemSelected(item)
}
这是错误:
e: $<path_start_from_my_disc>/AboutActivity.kt: (70, 29): Unresolved reference: home
答案 0 :(得分:7)
您正在使用is
运算符进行相等性检查,而它是一个类型检查运算符(如instanceof
)。如果你只是删除is
:
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when (item.getItemId()){
android.R.id.home -> {
NavUtils.navigateUpFromSameTask(this)
return true
}
}
return super.onOptionsItemSelected(item)
}