当我从Firebase数据库中获取数据时,我只获得单个值。但是我希望获得firebase实时数据库的所有记录。
这是我的Java代码:
mref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
HashMap<String, Object> users = (HashMap<String, Object>) dataSnapshot.getValue();
listusers.add(users.get("FirstName").toString());
adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,listusers);
lv.setAdapter(adapter);
}
如何克服这种情况?
答案 0 :(得分:0)
您好像正在尝试将ListAdapter
连接到存储在Firebase中的用户集合。
我高度建议您学习Firebase AndroidChat sample application,因为它涵盖了您遇到的大部分内容。除此之外,示例应用程序还有一个很棒的实用程序类FirebaseListAdapter
,可以完全满足您的需求:它可以调整Firebase集合,以便与Android ListView
一起使用。
答案 1 :(得分:0)
您可以尝试这样的代码...
mref.addChildEventListener(new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
HashMap<String, Object> users = (HashMap<String, Object>) dataSnapshot.child("FirtsName").getValue();
listusers.add(users.toString());
adapter=new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,listusers);
lv.setAdapter(adapter);
}
第5行仅获取值“ FirstName”子级并添加到列表中