RcyclerView的notifyDataSetChanged方法
经测试:如果在原有的集合数据上使用add方式添加元素后,调用notify方法可以刷新页面
但是如果是用新的集合赋值给原集合,就不起作用了。可能是因为赋值后adapter中的集合并没有同步改变,他里面持有的还是原来的集合。所以不是网上说的线程问题。
解决方式:
1、赋值后重新setAdapter()。
2、清空元集合使用addall()方法添加新集合,这样adapter中的数据就是同步的。如下:
@Override public void refreshAdapter(ArrayList<AuthFriendBean> datas) { beans.clear(); beans.addAll(datas); adapter.notifyDataSetChanged(); }
其中datas为新请求的数据集合,beans是原来的数据集合。