为什么试图访问常量值的问题没有解决?

该应用程序在Kotlin单例对象中定义常量:

@file:JvmName("APIConstants") package com.myapp.api object APIConstants { const val HTTP_RESPONSE_CODE_NOT_AUTHORIZED = 401 etc.... } 

然后他们被用于另一个class级:

 import com.myapp.api.APIConstants.HTTP_RESPONSE_CODE_NOT_AUTHORIZED etc ... class API { private fun returnBadResponse(response: Response, callback: ApiAuthListener) { if (response.code() == HTTP_RESPONSE_CODE_NOT_AUTHORIZED) { callback.onBadAuthToken() } else { callback.onFailure(response.message(), getServerError(response)) } } 

在这个类中,Android Studio(3.0 beta)提供了一个为常量添加导入的提示,并没有给出任何问题的指示(没有红色下划线等,方法中的常量引用以紫色斜体文本显示它已经解决了)但是当我建立这个项目时,我得到了这个:

 Error: Unresolved reference: HTTP_RESPONSE_CODE_NOT_AUTHORIZED 

我已经尝试清除IDE缓存并重新启动它,并做一个干净的构建,这没有什么区别。 我已经尝试删除@JvmName注释,甚至将常量值放在没有包含对象的文件的根目录中,但是不允许构建。

为什么类没有引用这个常量,特别是当IDE强烈建议它可以解决这个问题的时候呢?

One Solution collect form web for “为什么试图访问常量值的问题没有解决?”

解决方案是…确保所有Kotlin源文件都具有.kt文件扩展名! 在这种情况下,APIConstants文件被称为“APIConstants”而不是“APIConstants.kt”,这似乎意味着IDE能够根据文件的内容来解析引用,但构建工具不能。 令人混淆的是,Android Studio在文件名上显示了Kotlin K图标,尽管缺少.kt扩展名。

  • 在Android中kotlin不支持Socket IO
  • 如何获得Kotlin中两个列表中所有元素的总和?
  • Kotlin:Collection既没有genericstypes,也没有OneToMany.targetEntity()
  • 如果我希望在Kotlin中使用类似静态函数的语法,哪种方法更好?
  • 颠倒中缀布尔结果kotlin
  • python vars()在Kotlin中
  • 无法解析符号kotlinOptions(在Gradle构建中)
  • 如何检查kotlin中的lambda空虚
  • Kotlin平台types和generics
  • 如何替换kotlin中所有出现的子字符串
  • 在kotlin中正常类和数据类之间有什么区别?
  • Kotlin language will be the best programming language for Android.