Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/drupal/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使房间图元的自定义注释处理器在房间注释处理器启动之前运行?_Android_Kotlin_Android Room_Kapt - Fatal编程技术网

Android 如何使房间图元的自定义注释处理器在房间注释处理器启动之前运行?

Android 如何使房间图元的自定义注释处理器在房间注释处理器启动之前运行?,android,kotlin,android-room,kapt,Android,Kotlin,Android Room,Kapt,我制作了一个小程序,为所有房间实体生成Kotlin类,其中字段表示列名。我这样做是为了使用生成的类静态final字段,而不是@ColumnInfo、@ForeignKey parentColumn、childColumn等中的原始字符串 问题是,当我在@ColumnInfo中使用生成类中的字段时,如下所示 @Entity(tableName = "DogTable") data class Dog( @PrimaryKey @ColumnInfo(name = DogTable

我制作了一个小程序,为所有房间实体生成Kotlin类,其中字段表示列名。我这样做是为了使用生成的类静态final字段,而不是@ColumnInfo、@ForeignKey parentColumn、childColumn等中的原始字符串

问题是,当我在@ColumnInfo中使用生成类中的字段时,如下所示

@Entity(tableName = "DogTable")
data class Dog(

    @PrimaryKey
    @ColumnInfo(name = DogTableFields.ID) //DogTableFields class is generated from my annotation processor
    val id: String = ""
)
我得到了一个构建错误

错误:元素值必须是常量表达式 @androidx.room.ColumnInfo(name=null)

我认为Room编译器的注释处理器在我的处理器之前运行,这就是生成的字段为空的原因

我的问题是,如何在房间的处理器运行之前让注释处理器运行?或者有没有其他方法可以让这一切顺利进行

编辑:这是在显示错误的/app/build/tmp/kapt3/stubs/debug下生成的。您可以看到,@ColumnInfo的
null
表示
name