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

来源:互联网 发布:无产阶级 知乎 编辑:程序博客网 时间:2024/06/05 09:25

最近在使用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(); //更新界面
原创粉丝点击