firebaseを使い始めるとすばらしいですが、recyclerview
の中に50kレコードが表示されています。一度にすべてを読み込むので、ページ付けをする方法などは分かりませんたくさんの時間。 私は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)。あなたが試したことと、具体的にどこに止まっているのかを示さなければ、これは広すぎると投票します。 –