问题:接收到消息后调用更新界面回调,给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; } });