其他分享
首页 > 其他分享> > Android Room库错误:找不到字段的设置器. (科特琳)

Android Room库错误:找不到字段的设置器. (科特琳)

作者:互联网

我正在使用房间图书馆,并且有以下提到的实体:

@Parcelize
@Entity(tableName = "tb_option")
data class OptionsTable(
        var question_id: Int? = null,
        var option_id: Int? = null,
        var option: String? = null,
        var is_selected: Int? = null,


        @PrimaryKey(autoGenerate = true)
        var sr_no: Int = 0) : Parcelable

如您所见,我将所有字段声明为var,但仍显示错误为:

error: Cannot find setter for field.
e: 

e:     private java.lang.Integer is_selected;
e:      



                     ^

请为此提出一些解决方案.

谢谢

解决方法:

大多数情况下,由于以下原因而发生该问题:

问题一:

最终字段:字段用val标记,它们实际上是最终字段,没有设置者字段.

解决方案:将字段val替换为var.您可能还需要初始化字段.

问题2:

是关键字:我们不能将sqllite保留关键字行用于命名为source的字段,例如

以下会导致错误

 @ColumnInfo(name = "IS_ACTIVE") var isActive

解决方案:解决方案是:

@ColumnInfo(name = "IS_ACTIVE") var active

标签:android-room,kotlin,android
来源: https://codeday.me/bug/20191110/2014735.html