gpt4 book ai didi

Android Room 库错误 : Cannot find setter for field. (Kotlin)

转载 作者:太空宇宙 更新时间:2023-11-03 13:43:09 36 4
gpt4 key购买 nike

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

@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:



^

请为此提出一些修复建议。

谢谢

最佳答案

大多数时候问题的发生是由于以下原因:

问题 1:

Final 字段:字段标有 val,它们实际上是最终字段,没有 setter 字段。

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

问题2:

是关键字:我们不能使用 sqllite 保留关键字行来命名字段 source例如

下面会报错

 @ColumnInfo(name = "IS_ACTIVE") var isActive

解决方案:解决方案是:

@ColumnInfo(name = "IS_ACTIVE") var active

关于Android Room 库错误 : Cannot find setter for field. (Kotlin),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47484497/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com