我正在编写一个android聊天应用程序,我试图在使用自定义FirebaceRecyclerAdapter的RecyrclerView中使用Firebase数据库实现无限滚动。对于第一次消息加载,我使用通过.orderByChild()排序数据的查询从Firebase数据库获取数据,然后使用.limitToFirst(specificCount)排序。但是当用户滚动到最后一个可见的项目时,我必须得到下一部分消息,并且问题出现后,我没有直接从specificbase中获取Firebase数据库中的消息。我试着用代码:如何根据Firebase数据库中的项目数量筛选数据
int startCount = mLayoutManager.getItemCount();
FirebaseDatabase
.getInstance()
.getReference()
.child(RequestParameters.FB_CHILD_MESSAGES)
.orderByChild(RequestParameters.FB_CHILD_MESSAGES_ORDERING_TIME)
.startAt(startCount)
.endAt(startCount + CustomFirebaceRecyclerAdapter.NEXT_MESSAGE_PORTION_COUNT)
.addListenerForSingleValueEvent(...)
但是在我读.startAt的文档()我知道有多么愚蠢是这样的。任何人都可以帮助进行查询,获取specificCount
之后的项目,并将收到的消息限制在某个数量。
我认为这对我来说很合适,我有另外一个查询获得前10个项目并添加了onItemRangeInserted,当用户浏览旧消息和新消息时(在recyclerView的位置0添加)他将听众指出。 – MeLine