如何在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 中加载更多数据

在滚动时在 recyclerview 中加载更多数据

小程序scroll-view实现三级分类左右联动,上拉加载以及下拉刷新

如何在 TabLayout 中找到由 RecyclerView 打开的对话框的上下文?

Android RecyclerView上拉加载更多item点击事件(显示获取的数据)