2016-09-06 5 views
0

のOnDataChangedをトリガします。どちらも私の火災データベースに接続されています。サーバはnull"RefNode"、のAndriod側と"RefNode"に設定されているonDataChangedコールバックをセットすると、呼び出されます。Firebase.database()参考文献( "RefNode")。セット(ヌル)は、私が<strong>nodejsサーバー</strong>と<strong>アンドロイドクライアント</strong>を持っている参照

を避けるために、は「RefNode」がnullに設定されている場合に呼び出され、その他の場合は呼び出される必要があります。

下記のように私は私のノードのアンドロイドのアプリケーションで"RefNode"上のリスナーを持っている: OnDataChanged()コールバックが"RefNode"がnodejsサーバによってnullに設定した場合でも呼ばなっています。

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 
     } 
}); 

答えて

0

私はイベントリスナーを2回付けていた問題を発見しました。私はValueEventListenerにクラスのフィールドを作成し、それを2回アタッチしました。

関連する問題