在oncreate中是用runOnUithread刷新界面不成功
请教一个问题,我项目接入过环信,进入一个聊天的界面,在聊天界面的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中执行的。