【问题标题】:Firebase.database().ref("RefNode").set(null) triggers OnDataChanged of that referenceFirebase.database().ref("RefNode").set(null) 触发该引用的 OnDataChanged
【发布时间】:2017-01-14 02:56:06
【问题描述】:

我有 nodejs 服务器 和一个 android 客户端。两者都连接到我的 firebase 数据库。当服务器将 "RefNode" 设置为 null 时,在 Android 端的 "RefNode" 上设置的 onDataChanged 回调将被调用。

有什么方法可以避免在“RefNode”设置为空的特殊情况下调用它,而在所有其他情况下它应该被调用。

我在我的 android 应用程序中的节点 "RefNode" 上有一个监听器,如下所示: 即使 nodejs 服务器将 "RefNode" 设置为 null,也会调用 OnDataChanged() 回调。

FirbaseDatabase.getInstance().getReference().child("RefNode").addValueEventListener( new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            if(dataSnapshot.exists()){
                if(dataSnapshot.getValue()!=null) {
                    Log.v(TAG, "got here even when the Refnode was set to null");
                }
            }
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            // The listener got cancelled
        }
});

【问题讨论】:

    标签: android node.js firebase firebase-realtime-database


    【解决方案1】:

    我发现了我两次附加事件侦听器的问题。我已将 ValueEventListener 设为类的字段并附加了两次。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-27
      • 2018-08-30
      • 1970-01-01
      相关资源
      最近更新 更多