您的位置:首页 > 移动开发 > Android开发

Android开发RecycleView的适配器(adapter)无法更新集合中数据

2017-09-18 17:54 411 查看
最近在使用BaseRecyclerViewAdapterHelper时,需要在弹出dialog后更新数据,但是发现调用适配器的notifyDataSetChanged(),根本无法起什么作用,于是打印log,发现一个问题Adapter每次加载的都是同一个地址的集合,而自己更新数据时是二个不同地址的集合数据,鉴于此种情况只能使用第三者集合,就这样解决了集合无法更新问题,特此记录下.

1,获取要显示的数据,以及第三者集合

private List<AchiveMentBean.AchievementBean> data=new ArrayList<>();//创建第三者集合


2,使用集合的addAll方法添加获取的数据,并创建adapter

list = bean.achievement;
data.addAll(list);
adapter = new MyAdapter(data);
rv.setAdapter(adapter);


3,获取更新后的数据,并调用adapter.notifyDataSetChanged();刷新界面和数据

data.clear();//清除之前的数据
List<AchiveMentBean.AchievementBean> refreshData = bean.achievement;
data.addAll(refreshData);//添加更新的数据
adapter.notifyDataSetChanged(); //更新界面
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐