Как использовать новейший пейджинг с бесконечным обратным просмотрщиком для чата?
У меня есть линейное расположение с обратным расположением true:
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setReverseLayout(true);
layoutManager.setStackFromEnd(true);
и слушатель внутренней прокрутки:
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
int visibleItemCount = layoutManager.getChildCount();
int totalItemCount = layoutManager.getItemCount();
int firstVisibleItemPosition = layoutManager.findFirstVisibleItemPosition();
if (!isLoading && !isLastPage) {
if ((visibleItemCount + firstVisibleItemPosition) >= totalItemCount
&& firstVisibleItemPosition >= 0
&& totalItemCount >= PAGE_SIZE) {
loadMoreItems();
}
}
}
Запрос на получение сообщений:
SELECT * FROM Message WHERE chatId = :chatId ORDER BY dbId ASC
Используется для комнаты, как показано ниже;
@Query("SELECT * FROM Message WHERE chatId = :chatId ORDER BY dbId ASC")
DataSource.Factory<Integer,Message> fetchAll(String chatId);
Проблема в том, что если я использую ASC в запросе, список автоматически прокручивает и извлекает другие сообщения. если используется DESC, то список сообщений не приходит в порядок.
Может кто-нибудь помочь, пожалуйста?