gpt4 book ai didi

java - 在 kotlin 中使用 java 自定义注解

转载 作者:太空狗 更新时间:2023-10-29 13:03:38 24 4
gpt4 key购买 nike

我在 java 中创建了一个自定义注解,我试图在 Kotlin 编写的类中使用它,但在编译时,我遇到了一个错误:

Annotation parameter must be a compile-time constant

代码如下:

@Target(ElementType.FIELD)
@Retention(RetentionPolicy.CLASS)
public @interface EdsFieldInfo {
int persianName();
String columnName() default "";
int domainVals() default -1;
}

这是我使用注释的地方

@EdsFieldInfo(persianName = R.string.customer_file_id, columnName = "FileId")
@ColumnInfo(name = "FileId", typeAffinity = ColumnInfo.TEXT)
var fileId: String?,

错误在这里显示

persianName = R.string.customer_file_id

我试图为此找到解决方案,但不能帮我解决这个问题吗?谢谢。

最佳答案

由于 R 是在编译时编译的,我强烈怀疑您不能在注释中使用这样的 R.string.customer_file_id 变量。也许它在 Android 的构建器实际构建 R 之前得到了改进。

所以恐怕您应该改用常量。

关于java - 在 kotlin 中使用 java 自定义注解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51928954/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com