1

我们正在开发一个聊天应用程序。如果消息包含图像,并且它们一个接一个地出现,我们在适配器中将这些图像分组到一个消息中。

问题 1

在数据库和 API 的其余部分中,我们分别拥有这些消息,但在适配器中,我们将它们分组以作为一条带有小图像图标的大消息显示给用户。

我们希望实现一个分页库,以便可以滚动到历史记录中的任何消息。目前,我们正在使用 a RemoteMediator<Int, Message>,它向我们的服务器发出请求并获取消息。为了存储我们正在使用的这些消息Room,它返回PagingSource<Int, Message>. 显示我们正在使用的消息PagingDataAdapter

一切正常,问题是我们如何在 Paging 3 中实现这种分组图像逻辑?我们可以在哪些步骤以及何时进行此更改并将消息组合在一起?

示例

Message1_Text1 - Message2_Image1 - Message3_Image2 - Message4_Text2

分组后,我们应该收到

Message1_Text1 - Message2_(Image1_Image2) - Message3_Text2

问题2

根据消息是什么beforeafter我们会以不同的方式显示消息,例如,我们仅在第一条消息上显示配置文件图标,来自同一用户的所有其他消息显示时没有配置文件图标。

我们可以更改我们的数据,PagingData.map{}但我们没有关于之前和之后项目的任何信息。这怎么可能实现?

4

0 回答 0