从Firebase获取数据时出现问题

时间:2015-07-14 20:21:27

标签: java android firebase firebase-realtime-database

当我从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);
    }

如何克服这种情况?

2 个答案:

答案 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”子级并添加到列表中