2 回答

TA貢獻(xiàn)1848條經(jīng)驗(yàn) 獲得超10個(gè)贊
好的,我發(fā)現(xiàn)了這個(gè):查詢答案是 Hashmap<String, Hashmap<String, String>>
所以我不得不:
添加一個(gè)“order by”子句 -> 使用第一級(jí)哈希圖(我不知道為什么)
,這似乎是列表查詢所必需的
創(chuàng)建我的“用戶”類的自定義映射
所以代碼看起來像這樣:(“用戶”類沒有變化)
public static void readUsersJava (){
setUsersMapConverter()
GdxFIRDatabase.instance().inReference("users")
.orderBy(OrderByMode.ORDER_BY_KEY, null)
.filter(FilterType.LIMIT_FIRST, 5)
.readValue(List.class, new DataCallback<List<UserPOJO>>(){
...
});
}
和
fun setUsersMapConverter(){
GdxFIRDatabase.instance().setMapConverter(object : FirebaseMapConverter {
override fun <T : Any?> convert(map: MutableMap<String, Any>, wantedType: Class<T>): T {
val element = (map.get(map.keys.first())) as HashMap<String, String>
return UserPOJO(element.get("displayName"), element.get("email")) as T
}
// Should be inversion of convert (needed only by GWT platform)
override fun unConvert(`object`: Any): Map<String, Any>? {
return null
}
})
}
希望能有所幫助。
如果您找到更好的解決方案,請(qǐng)告訴我。
添加回答
舉報(bào)