我開始使用firebase,一切看起來不錯,但我有5萬條記錄在recyclerview
內部顯示,我無法弄清楚如何分頁或類似的東西,因爲一次加載所有內容都需要很多時間。 我用childEventListener
和FirebaseUI也沒有運氣。如何分頁Firebase Recyclerview
更新1: 最後我爲更新1工作,這不是最好的解決方案,但我想我會稍後做一些更改。
private String lastKey = null;
private List<Comment> commentList = new ArrayList<>();
private final static int QUERY_LIMIT = 20;
private int page = 0;
private void loadComments() {
page++;
ChildEventListener childEventListener = new ChildEventListener() {
@Override
public void onChildAdded(DataSnapshot dataSnapshot, String s) {
Comment comment = dataSnapshot.getValue(Comment.class);
commentList.add(comment);
adapter.notifyDataSetChanged();
lastKey = String.valueOf(comment.getTimestamp());
}
@Override
public void onChildChanged(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onChildRemoved(DataSnapshot dataSnapshot) {
}
@Override
public void onChildMoved(DataSnapshot dataSnapshot, String s) {
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
};
if (lastKey != null) {
commentList.clear();
adapter.notifyDataSetChanged();
comments.child(id_post).orderByChild("timestamp").endAt(lastKey).limitToLast(QUERY_LIMIT * page).addChildEventListener(childEventListener);
} else {
comments.child(id_post).orderByChild("timestamp").limitToLast(QUERY_LIMIT).addChildEventListener(childEventListener);
}
}
您有限制可用於實現分頁的結果的方法:https://www.firebase.com/docs/android/guide/retrieving-data.html –
使用Firebase進行分頁並不容易。它已被[問及覆蓋數十次](http://stackoverflow.com/search?q=%5Bfirebase%5D+pagination)。除非你展示你已經嘗試過的東西以及你具體卡住的地方,否則我認爲這太寬泛了。 –