繁体   English   中英

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

[英]I can't get data from specific root in FireBase

我正在制作一个 android 应用程序,但在从 firebase 中的特定节点检索数据时遇到问题。

这是我的数据库结构

如何仅将位于“帖子”中的数据检索到我的列表视图?

我正在使用 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();
        }
    }

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

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

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

侦听器的onDataChange中,您可以循环遍历数据

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();
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM