【发布时间】:2017-03-08 11:52:24
【问题描述】:
我在我的应用中使用 Firebase。我有一个要使用此代码检索的元素列表:
FirebaseDatabase.getInstance()
.getReferenceFromUrl("myUrl")
.orderByChild("timestamp")
.addChildEventListener(this);
了解 ref url 内部是否没有数据的最佳方法是什么?因为使用 ChildEventListener 是不可能的。
ChildEventListener 只有这 4 个方法:onChildAdded()、onChildChanged()、onChildRemoved()、onChildMoved()。
如果您的对象内部没有项目,则不会调用这些方法。
所以我的问题是。我也必须使用 ValueEventListener 吗? 我猜如果没有找到项目,就会调用 onDataChange()。
一种可能的情况: 您有一个要使用 ChildEventListener 检索和填充的项目列表。 您想覆盖没有检索到任何项目的情况。所以显示文本“无数据”而不是列表。
【问题讨论】:
-
在函数中尝试:datasnapshot.getChildrenCount()。如果为 0 则没有项目
-
是的,我就是这么想的。所以你必须同时使用 ChildEventListener 和 ValueEventListener?
-
dataSnapshotinChildEventListener比ValueEventListener产生的dataSnapshot深一层,所以很遗憾这不起作用
标签: android firebase firebase-realtime-database