首页 > 解决方案 > 从服务器获取数据后聊天消息(回收站视图)闪烁?

问题描述

我正在构建一个 android 聊天应用程序,我使用 SQLite 数据库将数据存储在本地设备上。我正在努力弄清楚如何阻止聊天消息回收器视图闪烁。

为背景。我正在使用 websockets 发送和接收聊天消息。因此,无论何时打开应用程序,websocket 都会连接并开始获取新消息。

假设,我在一个聊天窗口中与某个人交谈,不知何故我的互联网断了。此时,对方发送了一些消息,这些消息存储在服务器中。现在同时我发送了两条我尚未收到确认的消息(因为我没有连接到互联网),但我已将它们添加到我的聊天窗口中。现在,当我的互联网恢复时,我会获取以前的消息。然后将其添加到我的本地数据库中,从那里更新我的实时数据,我得到一个回调并将更新的消息插入到回收器视图中。现在根据服务器,另一个人发送的两条消息在我未发送的消息之前。它们被添加在两者之间,这导致在回收站视图中闪烁。我不知道如何避免它?

标签: androidkotlinandroid-recyclerview

解决方案


推荐阅读