PagedList <MessageItem>Recycler просмотр группы по полю - PullRequest
0 голосов
/ 23 апреля 2020

В моем RecyclerView я отображаю некоторые данные, которые я получаю из моей базы данных.

var chatRoomContactMessages: LiveData<PagedList<MessageItem>> =
        Transformations.switchMap(contactItem) {
            it?.let {
                val itemFactory = messagesRepository.getChatRoomMessages(
                    serverId,
                    it.contactId
                ).map { messageItem: ChatMessageItem? ->
                        // Function that creates a messageItem from the query result row
                        toMessageChatItem(messageItem, it.accountId)
                }

                LivePagedListBuilder(
                    contactItemFactory, pagedListConfig
                ).build()
            }
        }

Таким образом, я получаю данные из базы данных и применяю Transformation.map к каждому элементу, чтобы преобразовать его в соответствующий объект для адаптера.

Моя проблема заключается в том, что я хочу сгруппировать этот список элементов по полю messageItem (messageItem.msgDate), потому что в recyclerView я хочу показывать определенное значение c item_layout при изменении дня. Так что я думаю, что я должен добавить еще несколько «MessageItems», которые указывают переработчику, чтобы добавить item_layout.

Как я могу это сделать ??

...