【发布时间】:2020-11-07 19:24:59
【问题描述】:
我正在尝试使房间实体可观察(扩展 BaseObservable),以便可以在具有双向绑定的 LiveData 中使用它。所以我有这个数据类:
@Entity
data class Model(
@PrimaryKey(autoGenerate = true)
val id: Int,
val name: String) : Serializable
在 XML 中我想像这样使用它:
<EditText
...
android:text="@{viewModel.myLiveData.name}"
在我的 ViewModel 中:
val myLiveData: MutableLiveData<Model>
我发现基本相同的问题here.. 但对于 JAVA,我在将其转换为 kotlin 时遇到了问题。我的 kotlin 等效项是:
@Entity
class Model: BaseObservable, Serializable {
constructor(id: Int, name: String) {
this.id = id
this.name = name
}
@PrimaryKey(autoGenerate = true)
var id: Int = 0
@get:Bindable
var name: String = ""
set(value) {
field = value
notifyChange()
}
}
这不起作用并导致:
> A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecution
> java.lang.reflect.InvocationTargetException (no error message)
【问题讨论】:
-
你能发布整个错误日志吗?
-
这就是我得到的所有错误
标签: android kotlin data-binding android-room