当尝试使用Kotlin访问Firestore数据库时,抛出标题中引用的错误。我的模型类的字段与我试图访问的Firestore文档完全匹配。为什么Android Studio说没有setter/field?
在同一个类中有另一个字段,显然工作正确,没有抛出错误。即使它们的类型相同,都是布尔值。唯一的区别是它们的名字,isCreator
和admin
(工作的那个)。
问题出在属性的名称上。当一个属性的名字以"is"开头时,必须以以下方式显式地注释属性的getter:
@get:PropertyName("isCreator")
val isCreator: Boolean
如果你的属性是可变的(也就是var
),你还必须注释setter;
@get:PropertyName("isCreator")
@set:PropertyName("isCreator")
var isCreator: Boolean