我试图通过变量来填写网址,但是当我将其传递给我想要连接的网址时,它会给我一个错误
override fun onCreate
var mparam = intent.getStringExtra("param")
interface ApiActaPartido {
@GET("My_url"+$mparam)
fun getActaPartido(): Call<ActaPartidoList>
}
错误:(84,77)期望元素错误:(84,14)注释参数必须是编译时常量
请帮助。
答案 0 :(得分:2)
注释参数必须是编译时常量
这告诉您编译器需要在编译时知道您在注释中使用的值。由于您动态获取该变量的值(var mparam = intent.getStringExtra("param")
),因此无法将该值编译为它为您构建的字节码。
您必须找到一种方法来使@GET
使用的值成为编译时常量,或者使用其他方法来执行它要提供的任何功能。
答案 1 :(得分:1)
您只能将常量传递给注释参数。如果ConfigAmaters.DATA_ACTA
不是常量,那么你不能在里面使用它作为注释参数。
如果实际上val DATA_ACTA: String
位于object
内,那么您可以通过添加const
使其成为常量:
object ConfigAmaters {
const val DATA_ACTA: String = "..."
}
在这种情况下,编译器不应该再抱怨了。