首页 > 解决方案 > 响应 onChildAdded,Firebase 的名称值是什么?

问题描述

我在我的项目中使用 Database Firebase。我对 onChildAdded 感到非常困惑。我有这样的代码:

mEventListener = new ChildEventListener() {
              @Override public void onChildAdded(@NonNull DataSnapshot dataSnapshot,
                @Nullable String stringS) {
   if (stringS != null
       && dataSnapshot.getKey()
      != null && !dataSnapshot.getKey().contains(stringS)) 
    {
     Log.e("=====", "onChildAdded: " + stringS +
           " getKey: " + dataSnapshot.getKey());
    }....

=====:onChild已添加:-LMsqXJTn5DoMZTELzuz getKey:-LMsqXJVyXWZKqDizrCt

我的火力基地

添加:

标签: androidfirebasefirebase-realtime-database

解决方案


onChildAdded得到两个参数:

  • DataSnapshot刚刚添加的
  • 添加此新数据快照的前一个子项的键

因此,在您的示例中,新快照具有密钥-LMsqXJVyXWZKqDizrCt,并且是在-LMsqXJTn5DoMZTELzuz.

另请参阅参考文档onChildAdded

public abstract void onChildAdded (DataSnapshot snapshot, String previousChildName)

当一个新的孩子被添加到这个监听器被添加到的位置时,这个方法被触发。

参数

snapshot- 新子位置数据的不可变快照

previousChildName- 在新孩子之前排序的兄弟位置的键名。对于位置的第一个子节点,这将为空。


推荐阅读