2016-12-07 1 views
1

Ich habe ein Problem mit Firebase Realtime Database in meiner Android App.ValueEventListener ausgelöst OnDataChange Methode nur einmal

Was ich versuche ist, die Liste in Echtzeit zu aktualisieren. Aber das Update funktioniert nur beim Start der App. Es wird nicht automatisch aktualisiert. Also muss ich die App immer neu starten, wenn sie aktualisiert werden soll.

Gibt es fehlende Teile? Ich schätze für jede Hilfe. Danke

Problem: Listener ausgelöst onDataChange Methode nur in App Neustart. Daten sind korrekt. Aber der Zuhörer funktioniert danach nicht.

Code:

mRef = FirebaseDatabase.getInstance().getReference(); 
mPostRef = mRef.child(DbUtils.POST_CHILD); 
mPostRef.keepSynced(true); 

mPostRef.addValueEventListener(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 
     List<Post> objList = new ArrayList<>(); 
     for(DataSnapshot objSnapShot: dataSnapshot.getChildren()){ 
      Post obj = objSnapShot.getValue(Post.class); 
      obj.setKey(objSnapShot.getKey()); 
      objList.add(obj); 
     } 
     mAdapter.addAllAndNotify(objList); 

    } 

    @Override 
    public void onCancelled(DatabaseError databaseError) { 
     Log.i("Posts", "Listener was canceled"); 
    } 
}); 
+1

Sind Sie sicher, dass sich die Daten ändern? Versuchen Sie, die Firebase-Konsole zu verwenden, um die Daten zu ändern. Ich habe Ihren Code mit Version 10.0.1 ausgeführt und onDataChange() wird ausgelöst, wenn sich die Daten ändern. –

+0

Ich habe Daten in der Konsole geändert. Code funktioniert nicht. Werden Ihre Daten bei jedem Wechsel aktualisiert? (Ich benutze 9.8.0, versuche mit 10.0.1). Danke für Ihre Hilfe. –

+0

Fügen Sie 'onDataChange()' 'eine' Log'-Anweisung hinzu, um zu sehen, wann der Callback ausgelöst wird. –

Antwort

1

Schließlich fand ich den Fehler.

Fakt ist Firebase unterstützt keine Mehrfachverbindung. Also entfernte ich alle anderen DatabaseReference von meiner Aktivität. Und es funktioniert jetzt.

Danke Leute, die versucht haben, mir zu helfen.

Verwandte Themen