如何在RecyclerView Scroll上下载更多Firebase对象?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在RecyclerView Scroll上下载更多Firebase对象?相关的知识,希望对你有一定的参考价值。
我有一个具有聊天室的应用程序。每个房间都有一个用作数据库参考的ID,消息从那里下来并显示在RecyclerView中。我知道如何通过使用Query.orderbykey()。limittolast()来增加在onCreate / onStart上下载的消息数量,但是当用户滚动到聊天活动的RecyclerView顶部时,如何下载和显示其他项目,一个Facebook Facebook的信使?
编辑:这是我的适配器构造函数:
public ChatRecyclerViewAdapter(Context mContext, ArrayList<String> mMessage, ArrayList<String> mAuthor, String mRoomID, DatabaseReference reference) {
this.mContext = mContext;
this.mRoomID = mRoomID;
numberOfRecentMessages=20;
messageList = new ArrayList<>();
mDatabaseReference = reference.child(mRoomID+"_messages");
recentMessages = mDatabaseReference.orderByKey().endAt(100).limitToLast(numberOfRecentMessages);
recentMessages.addChildEventListener(mListener);
}
答案
听起来你正在寻找endAt()
,它取回最后一项的关键。说你现在正在显示这些键:
key20
key21
key22
key23
key24
key25
key26
key27
key28
key29
然后你可以得到以前的项目:
ref.orderByKey().endAt("key20").limitToLast(11)
以上是关于如何在RecyclerView Scroll上下载更多Firebase对象?的主要内容,如果未能解决你的问题,请参考以下文章
使用 Glide 和 RecyclerView 上下滚动时图像消失,图像之间的空间增加
如何使用 JSON API 在滚动时在 recyclerview 中加载更多数据
小程序scroll-view实现三级分类左右联动,上拉加载以及下拉刷新