更新listview android中的单行项

时间:2017-02-21 07:09:58

标签: android

我正在开发像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( “递送”);

****这里如何将状态更新为“已发送”***

1 个答案:

答案 0 :(得分:0)

使用更新方法而不是在适配器中添加并在特定位置更新,然后使用notifyitemchanged()。