android - Firebase recyclerview 适配器分页
问题描述
我将 RecyclerView 与 FirebaseRecyclerAdapter 一起使用。但是当我运行我的应用程序时。RecyclerView 加载所有数据。但我想先加载 10 个项目,然后用户到达底部再加载 10 个。
我搜索了分页,但所有教程都自动假设我将我的数据保留在我给适配器的参考中。但我保留这样的数据。
所有帖子数据都存储在“postall”父级下。
并且用户运行应用程序回收器视图获取第二张图片从那里获取发布密钥并创建新参考然后加载数据。
我的代码:
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();
在这种情况下我该如何进行分页。
Reyler 视图从数据中读取所有这些数据 getpost 键,创建对实际数据的新数据库引用,然后加载数据。但是我想在开始时加载 10 个项目,然后当用户到达 recyclerview 底部时再加载 10 个。
解决方案
推荐阅读
- gitlab - gitlab 中的自动发行说明
- r - 通过变量从r中的命名向量中提取单词
- python - 连接到 Django 数据库的内部服务器错误
- javascript - 如何在 Angular 8 中启动应用程序时首先加载数据服务
- r - 使用 geom_line 和 geom_point 更改图例符号“a”
- kubernetes - 无法使用 Helm Push Artifactory 插件将 helm 包存档推送到工件
- flutter - 在网格视图的中心底部显示小部件
- android - Firebase 通知图标 Unity
- sql - 返回关键字之前的光标无限循环
- wordpress - 访问后端的 Wordpress 用户角色不起作用