Android firebase-kotlin-Hashmap类型推断失败
我想使用firebase和Hashmap,并尝试了GenericTypeIndicator,但发现以下错误:Android firebase-kotlin-Hashmap类型推断失败,android,firebase,firebase-realtime-database,kotlin,Android,Firebase,Firebase Realtime Database,Kotlin,我想使用firebase和Hashmap,并尝试了GenericTypeIndicator,但发现以下错误:类型推断失败 守则: val ref = FirebaseDatabase.getInstance().reference.child("aaa").child(game_id).child("bbbb") ref.addValueEventListener(object : ValueEventListener { override fun onDataChang
类型推断失败
守则:
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) {
}
})
val ref=FirebaseDatabase.getInstance().reference.child(“aaa”).child(游戏id).child(“BBBBBB”)
ref.addValueEventListener(对象:ValueEventListener{
覆盖数据更改(dataSnapshot:dataSnapshot){
val type=object:GenericTypeIndicator(){}
val precios:HashMap=dataSnapshot.getValue(type!!)
liveData.postValue(precios)
}
覆盖已取消(databaseError:databaseError){
}
})
看起来
HashMap
是可选的,请尝试一下:
val type = object : GenericTypeIndicator<HashMap<String,String>?>() {}
val type=object:GenericTypeIndicator(){}
我使用了您的snapcode,我在其中做了更改,因此我传递了此错误
val precios : HashMap<String,String> = dataSnapshot.getValue(type)!!
val precios:HashMap=dataSnapshot.getValue(类型)!!
而不是
val precios : HashMap<String,String> = dataSnapshot.getValue(type!!)
val precios:HashMap=dataSnapshot.getValue(type!!)
希望这能像帮助我一样帮助其他人,因为其他解决方案对我不起作用
快乐编码:)