当试图转换java枚举时,注解参数必须是一个编译时常数

0 人关注

我试图将一个java文件转换为kotlin文件,但我得到这个错误。一个注解参数必须是编译时常量

@StringDef(
    BillingEnum.ALL,
    BillingEnum.PAID,
    BillingEnum.PENDING,
    BillingEnum.OVERDUE,
    BillingEnum.OPEN,
    BillingEnum.DELETED
annotation class BillingEnum {
    companion object {
        var ALL = ""
        var PAID = "paid"
        var PENDING = "pending"
        var OVERDUE = "overdue"
        var OPEN = "open"
        var DELETED = "deleted"

Before it looked like this:

@StringDef({
        BillingEnum.ALL,
        BillingEnum.PAID,
        BillingEnum.PENDING,
        BillingEnum.OVERDUE,
        BillingEnum.OPEN,
        BillingEnum.DELETED
public @interface BillingEnum {
    String ALL = "";
    String PAID = "paid";
    String PENDING = "pending";
    String OVERDUE = "overdue";
    String OPEN = "open";
    String DELETED = "deleted";
    
java
android
kotlin
Gustavo Silva
Gustavo Silva
发布于 2022-08-06
1 个回答
Louis Wasserman
Louis Wasserman
发布于 2022-08-06
已采纳
0 人赞同

You must write

annotation class BillingEnum {
    companion object {
        const val ALL = ""
        const val PAID = "paid"
        const val PENDING = "pending"
        const val OVERDUE = "overdue"