我使用addValueEventListener从firebase数据库获取数据列表,我在dataSnapshot中获取了数据,我可以调用getValue来获取数据,但是有什么方法可以直接将其转换为Arraylist 现在我就是这样做的
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot matchSnapShot: dataSnapshot.getChildren()) {
Match match = matchSnapShot.getValue(Match.class);
matchList.add(match);
}
Object obj= dataSnapshot.getValue();
Toast.makeText(NewMatchActivity.this,"got data",Toast.LENGTH_LONG).show();
}
但我想要这样的东西
ArrayList<Match> matchList = dataSnapshot.getValue(ArrayList<Match.class>);
最佳答案
这在一定程度上取决于您的确切数据结构(作为文本的 JSON 的可表示 fragment 会对此有所帮助),但您返回的数据很可能是 Map 而不是 List。
public void onDataChange(DataSnapshot dataSnapshot) {
Map<String,Match> map = (Map<String, Match>) dataSnapshot.getValue();
Collection<Match> matches = map.values();
}
关于java - 如何在 Android FirebaseDatabase 中将数据从 dataSnapshot 转换为集合列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39048483/