我为已填充的Firebase节点添加了一个侦听器。我只想获得新的同步数据。我在ref上调用set limitToLast(1),但是它从节点中检索所有数据。代码设置为将侦听器添加到多个引用,但目前只是向1添加侦听器。
这是我的代码:
//size() == 1
for (int i = 0; i < firebaseArrayList.size(); i++) {
firebaseArrayList.get(i).orderByValue().limitToLast(1);
firebaseArrayList.get(i).addChildEventListener(this);
}
有人知道为什么在我的代码中使用查询时,为节点中已有的每个项调用onChildAdded()?
提前致谢
答案 0 :(得分:4)
在documentation上说:
Generates a new Query object limited to the last certain number of children.
在您的代码中,您没有使用limitToLast
生成的对象。
以下是文档中的示例:
var ref = new Firebase("https://dinosaur-facts.firebaseio.com/dinosaurs");
ref.orderByChild("weight").limitToLast(2).on("child_added", function(snapshot) {
console.log(snapshot.key());
});