相关疑难解决方法(0)

找不到字段的setter - 使用Kotlin和Room数据库

我正在与Room持久性库集成.我在Kotlin有一个数据类,如:

@Entity(tableName = "story")
data class Story (
        @PrimaryKey val id: Long,
        val by: String,
        val descendants: Int,
        val score: Int,
        val time: Long,
        val title: String,
        val type: String,
        val url: String
)
Run Code Online (Sandbox Code Playgroud)

这些@Entity@PrimaryKey注释适用于Room库.当我尝试构建时,它失败并出现错误:

Error:Cannot find setter for field.
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Run Code Online (Sandbox Code Playgroud)

我也试过提供一个默认的构造函数:

@Entity(tableName = "story")
data class Story (
        @PrimaryKey val id: Long,
        val by: String,
        val descendants: Int,
        val score: Int, …
Run Code Online (Sandbox Code Playgroud)

android kotlin android-room

52
推荐指数
9
解决办法
1万
查看次数

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
Run Code Online (Sandbox Code Playgroud)

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

error: Cannot find setter for field.
e: 

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



                     ^
Run Code Online (Sandbox Code Playgroud)

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

谢谢

android kotlin android-room

4
推荐指数
1
解决办法
4070
查看次数

标签 统计

android ×2

android-room ×2

kotlin ×2