我无法从FireBase中的特定根获取数据

时间:2017-04-30 10:16:14

标签: android listview firebase firebase-realtime-database

我正在创建一个Android应用程序,我有问题从firebase中的特定节点检索数据。

This is my database structure ... 如何才能将仅位于“帖子”中的数据检索到我的列表视图?

我正在使用addChildEventListener:

mDatabase = FirebaseDatabase.getInstance().getReference();
    mDatabase.addChildEventListener(new ChildEventListener() {
                @Override
                public void onChildAdded(DataSnapshot dataSnapshot, String s) {
                    dataArrayList.clear();
                    for (DataSnapshot ds : dataSnapshot.getChildren()) {
                            TrempData trempData2 = ds.getValue(TrempData.class);
                            dataArrayList.add(0, trempData2);
                            mListView.setAdapter(adapter);
                            adapter.notifyDataSetChanged();

                    }
                }

1 个答案:

答案 0 :(得分:0)

要获取帖子,请将您的监听器附加到Posts子节点:

mDatabase = FirebaseDatabase.getInstance().getReference();
mDatabase.child("Posts").addValueEventListener(new ValueEventListener() {

我将其更改为ValueEventListener,因为您似乎希望一次性获取所有数据。

onDataChange of the listener, you can then loop over the data中:

public void onDataChange(DataSnapshot dataSnapshot) {
    dataArrayList.clear();
    for (DataSnapshot ds : dataSnapshot.getChildren()) {
        TrempData trempData2 = ds.getValue(TrempData.class);
        dataArrayList.add(0, trempData2);
    }
    mListView.setAdapter(adapter);
    adapter.notifyDataSetChanged();
}