2017-11-08 3 views
1

Ich habe ein Problem mit Firebase Seitenumbruch.Seitenumbruch funktioniert nicht mit Firebase-Datenbank

Ich habe Tabelle Beiträge und dies ist ein Beispiel für die Struktur:

enter image description here

und ich möchte nur 10 Post jedes Mal bekommen, hier ist mein Code Seite ist 0:

@NonNull 
    @CheckResult 
    public Single<DataSnapshot> getData(@NonNull DatabaseReference ref, int page) { 
     return Single.create(emitter -> { 

      ref.orderByChild("timestamp") 
        .startAt(page * 10) 
        .limitToFirst(10); 


      final ValueEventListener listener = new ValueEventListener() { 
       @Override 
       public void onDataChange(DataSnapshot dataSnapshot) { 
        if (!emitter.isDisposed()) { 
         emitter.onSuccess(dataSnapshot); 
        } 
       } 

       @Override 
       public void onCancelled(DatabaseError databaseError) { 
        if (!emitter.isDisposed()) { 
         emitter.onError(databaseError.toException()); 
        } 
       } 
      }; 

      ref.addListenerForSingleValueEvent(listener); 
     }); 
    } 

und hier ist das Ergebnis

enter image description here Warum habe ich Listengröße gleich 20 nicht 10? p.s. Grenze zum ersten oder zu begrenzen ist es kein Unterschied mit dem Ergebnis auf einem DatabaseReference gibt ein neues Objekt Query

+0

möglicherweise coz gibt es zwei Benutzer. Sie begrenzen auch die Anzahl der Benutzer auf 10 nicht die Anzahl der Post pro Benutzer –

Antwort

1

Aufruf startAt(), limitToFirst() und ähnliche Methoden dauern. Sie müssen einen Verweis auf diese Query und hängen Sie Ihre Hörer an das:

+0

Danke Kumpel !!!! Es klappt! –

Verwandte Themen