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.
Depuis R
est compilé au cours de la compilation, je serais obligé de bien croyez que vous ne pouvez pas utiliser cette R.string.customer_file_id
variable 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.