为什么编译器没有找到android.R.id.home常量?

在我的android的kotlin项目,我得到一个错误,说android.R.id.home是未定义的。 同时,我正在修复最小的Android SDK到14.我正在使用Kotlin'1.0.1-2'。

这里是需要它的代码的摘录(它是一个活动,一个普通的,而不是一个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 

您使用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) }