【发布时间】:2015-08-24 23:45:50
【问题描述】:
我在从 Firebase 检索列表时遇到问题。我存储它没有问题,但是一旦我尝试将 dataSnapshot.getValue() 转换为 ArrayList,我的应用程序就会崩溃,并给出一个异常:
HashMap 不能转换为 ArrayList
但是当我尝试将其转换为 HashMap 时,它也会崩溃,并给出异常:
ArrayList 不能转换为 hashmap
需要帮助!这是造成问题的代码:
Fire.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
List<TaskDes> td = (ArrayList<TaskDes>) dataSnapshot.getValue()
notifyDataSetChanged();
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
我想将 Firebase 中的所有数据检索为一个列表。 TaskDes 类包含三个字段:
class TaskDes { // definition
boolean done
String taskDescription
String taskTitle
}
【问题讨论】:
-
很遗憾,这里没有足够的代码来帮助您解决问题。积极的一面:Firebase 的 AndroidChat 示例应用可以满足您的所有需求,仅此而已。在这里看看:github.com/firebase/AndroidChat/tree/master/app/src/main/java/…。我最近在 Firebase Google Group 上解释了它的内部结构:groups.google.com/d/msg/firebase-talk/OCoQPvpgl1U/Nli_OywG7LYJ
-
谢谢,我会试一试,另一件事我想问一下我是否将 hashmap
存储在火力基地上,然后从火力基地检索它时,我可以直接投射datasnapshot.getValue() 到 hashmap ?? -
是的,这是可能的。但前提是您正确地为
Task类建模。看看这个例子。你的Task应该看起来像github.com/firebase/AndroidChat/blob/master/app/src/main/java/…
标签: android arraylist firebase firebase-realtime-database