今天做项目遇到个比较头疼的问题,adapter.notifyDataSetChanged没有反应,要触摸屏幕才可以改变数据,上网查资料有人说是给list集合赋值的时候地址改变了(要用list.addAll()),可是我并没有改变地址 ,只是手动改了一个item的数据而已,后来发现只要延迟刷新就可以了
handler.postDelayed(new Runnable() {
@Override
public void run() {
adapter.notifyDataSetChanged();
}
}, 500);
我延迟了500毫秒,大家可以根据需求自己定,然后界面就正常刷新了。