0
该应用程序定义常量在科特林singleton对象:为什么试图访问常量值时未解决的参考?
@file:JvmName("APIConstants")
package com.myapp.api
object APIConstants {
const val HTTP_RESPONSE_CODE_NOT_AUTHORIZED = 401
etc....
}
它们然后在另一个类中使用:
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测试版)提供一个提示添加导入对于常量,并没有给出任何问题的迹象(没有红色下划线等,并且方法中的常量引用以紫色斜体文本显示,表明它已经被解决),但是当我构建项目时,我得到这个:
Error: Unresolved reference: HTTP_RESPONSE_CODE_NOT_AUTHORIZED
我试着清理IDE缓存并重新启动它,并做一个干净的构建,这没有什么区别。我尝试删除@JvmName注释,甚至将常量值放在没有包含对象的文件的根目录下,但都不允许构建。
为什么类没有引用该常量,特别是当IDE强烈建议它可以解决它时?