代码之家  ›  专栏  ›  技术社区  ›  alireza rahmaty

在kotlin中使用java自定义注释

  •  3
  • alireza rahmaty  · 技术社区  · 7 年前

    我在java中创建了一个自定义注释,并试图在 编写类,但在编译时,我得到一个错误

    注释参数必须是编译时常量

    这是密码,

    @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
    

    我试图找到解决这个问题的办法,但是不能帮我解决这个问题吗?谢谢您。

    1 回复  |  直到 7 年前
        1
  •  2
  •   shkschneider blazzerbg    7 年前

    自从 R 是在编译时编译的,我很怀疑您不能使用 R.string.customer_file_id .