如何从recyclerview中删除所有元素并添加新元素

时间:2018-09-02 20:32:04

标签: android android-recyclerview

这听起来很简单,但是最近3天以来一直在脖子上疼。我尝试了所有可能的方法来删除数据,例如删除adapter data,删除recyclerview elements,但都没有用。谁能帮我解决这个问题?

代码:

                       //Adapter Setting
                            adapteru=new CustomRecyclerViewAdapter(timelineDataList);


                    //Data Clearing Code
                    timelineDataList.clear();
                    posts_rView.getRecycledViewPool().clear();
                    adapter.notifyDataSetChanged();
                    posts_rView.removeAllViewsInLayout();

2 个答案:

答案 0 :(得分:1)

它将在适配器上。您将删除适配器中的所有数据,以使getItemCount返回0(特定于适配器的操作方式)。然后调用notifyDataSetChanged。您不会直接触摸回收视图或回收视图。

答案 1 :(得分:1)

只需重新创建并重新安装适配器即可。在执行此操作和清除数据集之间的性能差异是绝对可忽略的,它创建的代码混乱要小得多。

理想情况下,您应该有一个

void showData(List<TimeLineData> timelineDataList){
    adapter = new CustomRecyclerViewAdapter(timelineDataList);
    yourRecyclerView.setAdapter(adapter);
    //assumed you attached your layout manager earlier
}

以您的数据或Collections.emptyList()作为参数进行调用