Я использую FirestoreRecyclerAdaper
с обычной формой получения и отображения данных.
мои данные становятся больше, и я хочу сделать в них нумерацию страниц, но я не нашел учебника по этому вопросу. Я читаю документацию, но ничего не показываю, как это сделать, потому что у них только один адаптер и 2 запроса, а FirestorRecyclerAdaper
принимает только один запрос.
так это их решение без изменения моего кода ?
final Query query = firebaseFirestore
.collection("Ads")
.orderBy("creationDate", Query.Direction.DESCENDING).limit(5);
query.get().addOnSuccessListener(new OnSuccessListener<QuerySnapshot>() {
@Override
public void onSuccess(QuerySnapshot queryDocumentSnapshots) {
DocumentSnapshot lastVisible = queryDocumentSnapshots
.getDocuments().get(queryDocumentSnapshots.size() - 1);
Query next = firebaseFirestore.collection("Ads")
.orderBy("creationDate")
.startAfter(lastVisible)
.limit(10);
}
});
options = new FirestoreRecyclerOptions
.Builder<MyAdCard>()
.setQuery(query, MyAdCard.class)
.build();
dapter = new FirestoreRecyclerAdapter<MyAdCard, AllCardViewHolder>(options) {
@Override
protected void onBindViewHolder(@NonNull final AllCardViewHolder holder, final int position, @NonNull MyAdCard model) {
holder.publicAd_discription.setText(model.getMyAddiscriptiontxt());
}
@NonNull
@Override
public AllCardViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
View view = LayoutInflater.from(parent.getContext())
.inflate(R.layout.cardview_categoryads, parent, false);
return new AllCardViewHolder(view);
}
};
categoryAdsRV.setAdapter(dapter);
private class AllCardViewHolder extends RecyclerView.ViewHolder {
public AllCardViewHolder(View itemView) {
super(itemView);
}
TextView publicAd_discription = itemView.findViewById(R.id.publicAd_Discription);
}
@Override
protected void onStart() {
super.onStart();
dapter.startListening();
}
@Override
protected void onStop() {
super.onStop();
if ( dapter != null ) dapter.stopListening();
}