问题:接收到消息后调用更新界面回调,给adapter里add新数据,然后调用adapter.notifyDataSetChanged(),结果数据并没有刷新,查看log,调用notifyDataSetChanged()后,onCreateViewHolder、onBindViewHolder方法并没有执行,原因在于,后台接收到数据调用更新界面回调方法时,其实和当前Activity不在同一个线程。
在线程回调方法里:
mHandler.sendEmptyMessage(666);在Handler里面:
private Handler mHandler = new Handler(new Handler.Callback() { @Override public boolean handleMessage(Message msg) { switch (msg.what){ case 666: mSendStatesAdapter.addAll(mSelectPath); break; } return false; } });
解决UI更新问题
本文介绍了解决后台接收数据时UI更新不及时的问题。通过在主线程中使用Handler发送消息,确保了数据能正确添加到Adapter并触发界面刷新。
5545

被折叠的 条评论
为什么被折叠?



