В моем 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.
Как я могу это сделать ??