2016-04-16 55 views
1

在我的android的kotlin項目中,我收到一個錯誤,說android.R.id.home是未定義的。同時,我正在將最小的android sdk修復爲14.我正在使用Kotlin'1.0.1-2'。爲什麼編譯器沒有找到android.R.id.home常量?

這是一個需要它的代碼的摘錄(它是一個活動,一個普通的一個,而不是一個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 

回答

6

你使用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) 
} 
+0

由於某種原因,它是行不通的。有趣的是:它昨天工作... – kristyna

相關問題