我正在开发像whatsapp / hangout这样的安卓聊天应用程序。
我正在做的是,一旦将消息发送到服务器,消息的状态就是“已发送”。当我收到该消息的确认时,我想将该消息的状态更改为“已发送”。
怎么做?
发送到服务器之前的代码
ChatMessageModel chatMessageModel = new ChatMessageModel();
chatMessageModel.setId(nextId);
chatMessageModel.set_id(null);
chatMessageModel.setGroupId(groupID);
chatMessageModel.setMessage(message);
chatMessageModel.setSenderUserId(user.getUserId());
chatMessageModel.setSenderDisplayName("");
chatMessageModel.setDateSent(null);
chatMessageModel.setMessageType("message");
chatMessageModel.setStatus("sent");
chatMessageService.saveIndMessage(chatMessageModel);
mChatMessageCustomAdapter.add(chatMessageModel);
mChatMessageCustomAdapter.notifyDataSetChanged();
从服务器收到ACK后,代码为
chatMessageModel.set_id(msg.getString("_id"));
chatMessageModel.setGroupId(msg.getString("groupId"));
chatMessageModel.setMessage(msg.getString("message"));
chatMessageModel.setSenderUserId(msg.getString("senderUserId"));
chatMessageModel.setSenderDisplayName(msg.getString("senderDisplayName"));
chatMessageModel.setStatus( “递送”);
****这里如何将状态更新为“已发送”***
答案 0 :(得分:0)
使用更新方法而不是在适配器中添加并在特定位置更新,然后使用notifyitemchanged()。