firebase-kotlin-Hashmap类型推断失败

时间:2018-10-06 22:30:47

标签: android firebase firebase-realtime-database kotlin

我想使用firebase和Hashmap,并且尝试了GenericTypeIndicator,但发现以下错误:type inference failed

代码:

val ref = FirebaseDatabase.getInstance().reference.child("aaa").child(game_id).child("bbbb")
    ref.addValueEventListener(object : ValueEventListener {
        override fun onDataChange(dataSnapshot: DataSnapshot) {

            val type = object : GenericTypeIndicator<HashMap<String,String>>() {}

            val precios : HashMap<String,String>  = dataSnapshot.getValue(type!!)
            liveData.postValue(precios)

        }

        override fun onCancelled(databaseError: DatabaseError) {

        }
    })

enter image description here

2 个答案:

答案 0 :(得分:1)

看起来HashMap是可选的,因此请尝试一下:

val type = object : GenericTypeIndicator<HashMap<String,String>?>() {}

答案 1 :(得分:0)

我使用了您的快照代码,并对其进行了更改,因此我通过了此错误

   val precios : HashMap<String,String>  = dataSnapshot.getValue(type)!!

代替

    val precios : HashMap<String,String>  = dataSnapshot.getValue(type!!)

希望对其他人有帮助,因为它导致其他解决方案对我不起作用

快乐的编码:)