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

涂小哥 发布于 2016/06/01 11:35
阅读 75
收藏 0
请教一个问题,我项目接入过环信,进入一个聊天的界面,在聊天界面的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中执行的。


加载中
返回顶部
顶部