Open riseLishan opened 5 years ago
同样的问题
@riseLishan 通过手动修改源码解决了这一问题,请你试图在sendMessage()中使用fetchMessage()从远端拉取最新会话列表来解决。
@jwfing 请问这个点有修的计划嘛
没必要从远端拉取,因为是发送成功才能添加到adapter里,而源码是在发送之前就添加,所以肯定出问题。 改成以下代码就行了 `/**
@param message */ public void sendMessage(AVIMMessage message, boolean addToList) { // if (addToList) { // itemAdapter.addMessage(message); // } // itemAdapter.notifyDataSetChanged(); // scrollToBottom();
AVIMMessageOption option = new AVIMMessageOption(); if (message instanceof AVIMTextMessage) { AVIMTextMessage textMessage = (AVIMTextMessage) message; if (textMessage.getText().startsWith("tr:")) { option.setTransient(true); } else { option.setReceipt(true); } } else { option.setReceipt(true); } imConversation.sendMessage(message, option, new AVIMConversationCallback() { @Override public void done(AVIMException e) { if (null != e) { LCIMLogUtils.logException(e); } else { if (addToList) { itemAdapter.addMessage(message); } itemAdapter.notifyDataSetChanged(); scrollToBottom(); } } }); }`
在聊天界面,发超过两条数据,聊天记录只会显示第一条,第一条之后的数据都不会实时刷新出来,除非出来重新进入聊天界面,才会显示