I'm using RecyclerView with FirebaseRecyclerAdapter.But when i run my app. RecyclerView load all data. But I want to load first 10 item then user reached bottom load another 10.
I searched pagination but all tutorials are automatically assuming that i keep my data in reference that i gave adapter.But İ keep data like this.
All post data is stored under "postall" parent.
And user run app recycler view get second picture get post key from there and create new reference then load data.
My code:
options = new FirebaseRecyclerOptions.Builder<Post>().setQuery(reference,Post.class).build();
vhadapter = new FirebaseRecyclerAdapter<Post, viewholder>(options) {
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getItemViewType(int position) {
return position;
}
@Override
protected void onBindViewHolder(@NonNull final viewholder holder, final int position, @NonNull Post model) {
getRef(position).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
DatabaseReference reference1=FirebaseDatabase.getInstance().getReference().child("postall").child(dataSnapshot.getKey());
reference1.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
if(dataSnapshot.exists()){
//get data
}
else{
}
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
}
});
}
@NonNull
@Override
public viewholder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.home_item_image,viewGroup,false);
return new viewholder(view);
}
};
vhadapter.setHasStableIds(true);
recyclerView.setAdapter(vhadapter);
vhadapter.startListening();
how can i make pagination in this case.
place where recyclerview get data
Reycler view read all of this data getpost key from data,create new databse reference to actual data then load data.But i want to do load 10 item at beggining then when user reached recyclerview bottom load another 10.