在oncreate中是用runOnUithread刷新界面不成功

weixin_38060792 2016-06-01 11:35:12
请教一个问题,我项目接入过环信,进入一个聊天的界面,在聊天界面的oncreate方法中使用环信的发送消息 EMMessage message = EMMessage.createTxtSendMessage("客服图文混排消息", TO_USER_NAME); conversation.addMessage(message); //发送消息 EMChatManager.getInstance().sendMessage(message, new EMCallBack() { @Override public void onSuccess() { CustomerChatingActivity.this.runOnUiThread(new Runnable() {//回调回来的线程与UI线程ID不一致 @Override public void run() { UIUtils.showToastSafe("onSuccess on"); mDatas.get(messagePosition).setUploading(false); mDatas.get(messagePosition).setUploadFail(false); mAdapter.setDatas(mDatas); mAdapter.notifyDataSetChanged(); mRecyclerView.scrollToPosition(mAdapter.getItemCount() - 1); } }); } @Override public void onError(int i, String s) { CustomerChatingActivity.this.runOnUiThread(new Runnable() {//回调回来的线程与UI线程ID不一致 @Override public void run() { UIUtils.showToastSafe("onError on"); mDatas.get(messagePosition).setUploading(false); mDatas.get(messagePosition).setUploadFail(true); mAdapter.setDatas(mDatas); mAdapter.notifyDataSetChanged(); mRecyclerView.scrollToPosition(mAdapter.getItemCount() - 1); } }); } @Override public void onProgress(int i, String s) { } }); 发送成功了,数据也设置到了界面上面,但是却不会显示出来,,需要用户手动的滑动下屏幕才会显示。不太明白这是什么样的问题?这个callback的发送代码是在oncreate中执行的。
...全文
55 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

476

社区成员

发帖
与我相关
我的任务
社区描述
其他技术讨论专区
其他 技术论坛(原bbs)
社区管理员
  • 其他技术讨论专区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧