en utilisant java personnalisés Annotation dans Kotlin

Alireza Rahmaty:

J'ai créé une annotation personnalisée en java et je suis en train de l' utiliser dans une Kotlin classe écrite , mais dans le moment de la compilation, je reçois une erreur de

paramètre d'annotation doit être une constante de compilation

voici le code,

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

C'est l'endroit où j'utilise l'annotation

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

et l'erreur est affichée ici

persianName = R.string.customer_file_id

J'essaie de trouver une solution pour cela, mais ne pourrait-il me aider à résoudre ce problème? Je vous remercie.

shkschneider:

Depuis Rest compilé au cours de la compilation, je serais obligé de bien croyez que vous ne pouvez pas utiliser cette R.string.customer_file_idvariable dans une annotation. Peut-être qu'il s'evoluated avant que le constructeur Android construit en fait R.

Donc, je crains que vous devez utiliser une constante à la place.

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=213928&siteId=1
conseillé
Classement