繁体   English   中英

kotlin 中的 Firestore“找不到要序列化的属性”

[英]Firestore “No properties to serialize found on” in kotlin

我收到了这个异常

java.lang.RuntimeException:在 class java.lang.Void 上找不到要序列化的属性

在这条线上:

val glist = input.toObject(Glist::class.java)

没有使用 proguard,奇怪的是在实施身份验证之前一切正常。

我检查了几个答案,但它们包括 proguard 或 Java class 模型要求我认为我已经实现的公共构造函数。 我还尝试实现了Serializable ,它没有改变任何东西。

data class Glist (
    var id: String,
    val ti: String,
    val cat: Int
) {
    constructor() : this("", "", 0)

    var lactuid = Fire.getUid()
    var lact = ActionHelper.CREATED_LIST
    var lacti = ""
    var arch = null
    var del = null
    var lactd: Date
    var cre: Date
    var cha: Date
    var own = Fire.getUid()
    var adminuid = null
    var col = ArrayList<String>(  )
    var ni = ArrayList<String>(  )
    var nci = ArrayList<String>(  )

    init {
        val now: Date = TimeUtil.getTime()
        lactd = now
        cre = now
        cha = now
        col.add(Fire.getUid())
    }
}

问题是因为 kotlin data class的一些变量初始化为null但没有任何特定数据类型。 我刚刚添加了数据类型并解决了问题

data class Glist  (
    var id: String,
    val ti: String,
    val cat: Int
) {

    constructor() : this("", "", 0)

    var lactuid = Fire.getUid()
    var lact = ActionHelper.CREATED_LIST
    var lacti = ""
    var arch: Date? = null
    var del: Date? = null
    var lactd: Date
    var cre: Date
    var cha: Date
    var own = Fire.getUid()
    var adminuid: ArrayList<String>? = null
    var col = ArrayList<String>(  )
    var ni = ArrayList<String>(  )
    var nci = ArrayList<String>(  )

    init {
        val now: Date = TimeUtil.getTime()
        lactd = now
        cre = now
        cha = now
        col.add(Fire.getUid())
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM