2017-03-13 5 views
0

Ich arbeite seit 2 Wochen mit Firebase. Ich brauche deine Hilfe, bitte.Wie entferne ich ValueEventListener in Android?

public void closeReadRef() { 
    if (readRef != null) 
     readRef.removeEventListener(listener); 
} 

Dieser Code oben muss meinen Zuhörer entfernen, aber es funktioniert nicht. Ich nenne diese Methode in , onDestroy, onStop:

@Override 
public void onStart() { 
    FirebaseUtility.getInstance().closeReadRef(); 
    super.onStart(); 
} 

@Override 
public void onPause() { 
    super.onPause(); 
} 

@Override 
public void onResume() { 
    super.onResume(); 
} 

Was mache ich falsch? Warum kann ich den Hörer nicht abbrechen? Danke.

EDIT

I dies in onCreate unten Methode aufrufen() innerhalb einer Aktivität.

public void setReadTrueInFireBase(final String currentID, final String location) { 
    instance.currentID = currentID; 
    instance.location = location; 
    readRef = FirebaseDatabase.getInstance().getReferenceFromUrl(Constant.FIREBASE_DATABASE_URL); 
    readRef.child("conversations").child(location).addValueEventListener(listener); 
} 
+0

Wo Sie die 'addValueEventListener' platziert haben oder' addChildEventListener'? Und vielleicht zeigen Sie uns Code wo das Listener Objekt erstellt wird. – koceeng

+0

sorry @koceeng Ich werde es hinzufügen. –

Antwort

0

Try this:

DatabaseReference readRef; 
ValueEventListener listener; 

@Override 
public void onCreate(@Nullable Bundle savedInstanceState) { 
    readRef = FirebaseDatabase.getInstance().getReferenceFromUrl(Constant.FIREBASE_DATABASE_URL); 
    listener = readRef.child("conversations").child(location).addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       /* ... */ 
      } 

      @Override 
      public void onCancelled(DatabaseError error) { 
       /* .... */ 
      } 
     }); 
} 

@Override 
public void onStop() { 
    if (readRef != null && listener != null) { 
     readRef.removeEventListener(listener); 
    } 
} 
Verwandte Themen