我正在編寫一個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