相关疑难解决方法(0)

Kotlin类没有从firebase获得它的布尔值

我有我的kotlin课程

class Center : Serializable {
var active: Boolean? = null
var address: String? = null
var isJobAccessGranted: Boolean? = null
}
Run Code Online (Sandbox Code Playgroud)

这是我如何获得价值

 //from java class
   @Override
        public void onChildChanged(DataSnapshot dataSnapshot, String s) {
            centerMap.put(dataSnapshot.getKey(), dataSnapshot.getValue(Center.class));
        }
Run Code Online (Sandbox Code Playgroud)

但问题是我active没有任何问题得到了领域的价值.但是isJobAccessGranted布尔字段始终保持为空.我已经测试了一些其他布尔删除is前缀,工作正常.当我使用isActive或时,我没有得到布尔值isJobAccessGranted.任何人都可以解释我为什么面对这个问题.#AskFirebase

android kotlin firebase firebase-realtime-database kotlin-android-extensions

10
推荐指数
1
解决办法
726
查看次数

Firebase Firestore toObject在布尔属性映射上失败

从Firestore中提取数据时,我将.toObject()接收到的数据映射到我的数据类中,即:

data class Img(var event_uid: String = "", var isVip: Boolean = false , var nombre: String = "", var url: String = "")
Run Code Online (Sandbox Code Playgroud)

但是,映射效果不佳。我isVip=>true在任务中收到了该字段,但是对象字段被映射为false(默认值)。

快照数据

映射对象列表

我究竟做错了什么?

编辑:我在Logcat中看到

W/Firestore: (0.6.6-dev) [zzevb]: No setter/field for isVip found on class ***.model.Img
Run Code Online (Sandbox Code Playgroud)

根据Kotlin Docu的说法:

如果属性的名称以is开头,则使用不同的名称映射规则:getter的名称将与属性名称相同,setter的名称将通过用set替换is获得。例如,对于属性isOpen,将调用getter并将调用 isOpen()setter setOpen()。此规则适用于任何类型的属性,而不仅限于Boolean

也许有Kotlin问题的Firestore?

android kotlin firebase google-cloud-firestore

7
推荐指数
2
解决办法
1078
查看次数