removeEventListener entfernt den Listener nicht in Firebase

8

Ich möchte den addValueEventListener-Listener aus einer Firebase-Referenz entfernen, wenn der Wert eines bestimmten Felds wahr ist.

%Vor%

Aber addValueEventListener wird nicht entfernt und es wird für diese Firebase-Referenz aufgerufen. Bitte schlagen Sie mir vor, wie Sie den Listener bei Bedarf aus einem Firebase-Verweis entfernen können.

    
Keshav 22.06.2015, 10:57
quelle

3 Antworten

9

Sie können den Listener aus dem Callback entfernen mit:

%Vor%

Also ein komplettes Fragment:

%Vor%

Ich habe HashMap entfernt und stattdessen die Methoden von DataSnapshot verwendet, um dasselbe zu erreichen. Ich habe auch ein paar Variablen umbenannt, um klarer / idiomatischer zu sein.

    
Frank van Puffelen 22.06.2015 17:35
quelle
2

Stellen Sie sicher, dass Sie den Listener zum selben Knoten in Ihrer DatabaseReference hinzufügen und entfernen. Zum Beispiel:

%Vor%

Ihr Listener zeigt in diesem Fall auf path_2. Wenn Sie versuchen, Ihren Listener mit diesem Code zu entfernen

%Vor%

Es wird nicht funktionieren, weil Sie versuchen, den Listener vom falschen Knoten zu entfernen. Der richtige Weg wäre

%Vor%     
Andre Haueisen 07.04.2017 21:52
quelle
1

Ich hoffe, das wird dir helfen ... nur du kannst diese Methode benutzen, es ist Arbeit für mich ...

%Vor%

Schreiben von onCreate ()

%Vor%

Schreibe von onDestroy ()

%Vor%

Listener

%Vor%

}

    
Mathan 02.03.2018 05:44
quelle