FireBase onChildAdded()触发onChildRemoved()

时间:2016-09-08 12:04:07

标签: android firebase-realtime-database

我试图了解这两者是如何相关的。来自文档:

  

onChildAdded事件为每个现有子项触发一次,然后每次将新子项添加到指定路径时再次触发。将向侦听器传递包含新子项数据的快照。

那:

  

删除直接子项时会触发onChildRemoved事件。它通常与onChildAdded和onChildChanged事件一起使用。传递给事件回调的快照包含已删除子项的数据。

所以我非常期待这两个事件是根据他们的角色分别触发的:也就是说,onChildAdded将在我添加新数据时被触发,而onChildRemoved是在我删除{{1}时来自child

但是,当我添加数据时,这就是我记录的内容:



nodes




14:47:39.649 31305-31305/com.myapp D/addData_: onChildRemoved called 14:47:39.649 31305-31305/com.myapp D/addData_: onChildAdded called之前首先调用

onChildRemoved !!更糟糕的是数据从我的onChildAdded中消失了。有人帮我理解我做错了什么。

这是我的数据结构:enter image description here

我的火力队参考:



listview




1 个答案:

答案 0 :(得分:-1)

我评论了他的专栏并且有效!



 //limit to the last data 
        final Query lastSale = ref.limitToLast(1);