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

Fai*_*med 10 android kotlin firebase firebase-realtime-database kotlin-android-extensions

我有我的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

moh*_*hax 9

注释中所述,Kotlin您应该@field:JvmFieldBoolean类中的每个字段添加内容,因为当Kotlin转换为Java它时会生成setter,而JSON解析器无法解析该名称。和@field:JvmField批注覆盖此功能,并会有正确的制定者的名称和JSON将被正确解析。

  • 为什么在Firebase Kotlin文档的首页上没有此内容? (6认同)
  • @r3dm4n 现在位于 [Firestore 文档](https://firebase.google.com/docs/firestore/manage-data/add-data#custom_objects)。感谢您的建议! (2认同)