我有一个以聊天室为特色的应用程序。每个房间都有一个用作数据库引用的ID,消息从那里下来并显示在RecyclerView中。我知道如何通过使用Query.orderbykey().limittolast()来增加在onCreate/onStart上下载的消息数量,但是当用户滚动到聊天活动的RecyclerView顶部时,如何下载和显示其他项目?
编辑:这是我的适配器的construct0r:
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);
}发布于 2018-09-11 04:48:06
听起来像是在寻找endAt(),它接受返回的最后一项的关键字。假设您当前正在显示以下密钥:
key20
key21
key22
key23
key24
key25
key26
key27
key28
key29然后,您可以使用以下命令获取前面的项目:
ref.orderByKey().endAt("key20").limitToLast(11)https://stackoverflow.com/questions/52265254
复制相似问题