在kotlin中使用java自定义注释
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在kotlin中使用java自定义注释相关的知识,希望对你有一定的参考价值。
我在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
之前得到了改进。
所以我担心你应该使用常数代替。
以上是关于在kotlin中使用java自定义注释的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 java / kotlin 中的注释处理将方法附加到现有类?