У меня есть База данных Cloud Firestore , и для доступа к ней я использую:
CollectionReference robDetails = db.collection("ROBOTS").document(RobotA).collection(RobotB);
Каждое из этих " Соединений"содержит два поля ( ConnectionType & ConnectionTime ) со значениями.
Я хочу загрузить Соединения упорядочение по ConnectionTime (самое позднее наснизу, как показано на следующем рисунке), но нужно только показать 3 последних соединения, а когда пользователь прокручивает вверх, показать еще 3 над предыдущими с помощью SwipeRefreshLayout:
Код, который я сейчас должен загрузить для всех соединений, как на предыдущем рисунке:
private void loadConnections() {
CollectionReference loadConnect = db.collection("ROBOTS").document(RobotA).collection(RobotB);
loadConnections.orderBy("connectionTime", Query.Direction.ASCENDING).addSnapshotListener(new EventListener<QuerySnapshot>() {
@Override
public void onEvent(@Nullable QuerySnapshot queryDocumentSnapshots, @Nullable FirebaseFirestoreException e) {
for (DocumentChange documentChange : queryDocumentSnapshots.getDocumentChanges()) {
Connections connection = documentChange.getDocument().toObject(Connections.class);
mConnectionsList.add(connection);
mAdapter.notifyDataSetChanged();
conRecyclerView.scrollToPosition(mConnectionsList.size() - 1);
conSwipeRefresh.setRefreshing(false);
}
}
});
}
TL; DR: Я хочу сначала загрузить в свой RecyclerView Part1и когда пользователь прокручивает загрузку Part2, когда пользователь прокручивает загрузку Part3 ... с помощью SwipeRefreshLayout.