繁体   English   中英

在kotlin中使用java自定义注释

[英]using java Custom Annotation in kotlin

我在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之前得到了改进。

所以我担心你应该使用常数代替。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM