我在java中创建了一个自定义注释,我试图在Kotlin编写的类中使用它,但是在编译时,我得到一个错误
注释参数必须是编译时常量
这是代码,
@Target(ElementType.FIELD)
@Retention(RetentionPolicy.CLASS)
public @interface EdsFieldInfo {
int persianName();
String culomnName() default "";
int domainVals() default -1;
}
这是我正在使用注释的地方
@EdsFieldInfo(persianName = R.string.customer_file_id, culomnName = "FileId")
@ColumnInfo(name = "FileId", typeAffinity = ColumnInfo.TEXT)
var fileId: String?,
这里显示错误
persianName = R.string.customer_file_id
我试着找到一个解决方案,但不能帮我解决这个问题?谢谢。
由于R
是在编译期间编译的,我非常怀疑你不能在注释中使用这样的R.string.customer_file_id
变量。也许它在Android的构建者实际构建R
之前得到了改进。
所以我担心你应该使用常数代替。