Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/190.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何从recyclerview中删除所有元素并添加新元素_Android_Android Recyclerview - Fatal编程技术网

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

Android 如何从recyclerview中删除所有元素并添加新元素,android,android-recyclerview,Android,Android Recyclerview,这听起来可能很简单,但过去三天来一直让人头疼。我尝试了所有可能的方法来删除数据,比如删除适配器数据,删除回收视图元素,但没有一个有效。有人能帮我解决这个问题吗 代码: 它将位于适配器上。您需要删除适配器中的所有数据,以便getItemCount返回0(具体操作方式取决于您的适配器)。然后调用notifyDataSetChanged。您不能直接触摸回收视图或回收视图。它将位于适配器上。您需要删除适配器中的所有数据,以便getItemCount返回0(具体操作方式取决于您的适配器)。然后调用noti

这听起来可能很简单,但过去三天来一直让人头疼。我尝试了所有可能的方法来删除数据,比如删除
适配器数据
,删除
回收视图元素
,但没有一个有效。有人能帮我解决这个问题吗

代码:


它将位于适配器上。您需要删除适配器中的所有数据,以便getItemCount返回0(具体操作方式取决于您的适配器)。然后调用notifyDataSetChanged。您不能直接触摸回收视图或回收视图。

它将位于适配器上。您需要删除适配器中的所有数据,以便getItemCount返回0(具体操作方式取决于您的适配器)。然后调用notifyDataSetChanged。您不会直接接触回收视图或回收视图。

只需重新创建并重新访问适配器即可。这样做和清除数据集之间的性能差异是完全可以忽略的,它所造成的代码混乱要小得多

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

void showData(List<TimeLineData> timelineDataList){
    adapter = new CustomRecyclerViewAdapter(timelineDataList);
    yourRecyclerView.setAdapter(adapter);
    //assumed you attached your layout manager earlier
}
void showData(列出timelineDataList){
适配器=新的CustomRecycleServiceAdapter(timelineDataList);
yourRecyclerView.setAdapter(适配器);
//假设您先前已连接布局管理器
}

使用数据或集合调用它。emptyList()作为参数

只需重新创建并重新访问适配器即可。这样做和清除数据集之间的性能差异是完全可以忽略的,它所造成的代码混乱要小得多

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

void showData(List<TimeLineData> timelineDataList){
    adapter = new CustomRecyclerViewAdapter(timelineDataList);
    yourRecyclerView.setAdapter(adapter);
    //assumed you attached your layout manager earlier
}
void showData(列出timelineDataList){
适配器=新的CustomRecycleServiceAdapter(timelineDataList);
yourRecyclerView.setAdapter(适配器);
//假设您先前已连接布局管理器
}

用您的数据或集合调用它。emptyList()作为参数

先生,非常感谢您的回答,但您可以看到,我正在清除数据列表并执行notifyDataSetChanged。你能告诉我还需要做什么吗?我看到你在清理一些清单。如果不知道您的适配器,它从哪里获取数据,以及它可能是如何复制或缓存数据的,我不知道这是否真的有任何影响。但是我提到的两个步骤是你所需要做的。先生,你可以在那里检查更新的问题。我提到了如何将数据设置为适配器。非常感谢你的回答,但正如你所看到的,我正在清除数据列表并执行notifyDataSetChanged。你能告诉我还需要做什么吗?我看到你在清理一些清单。如果不知道您的适配器,它从哪里获取数据,以及它可能是如何复制或缓存数据的,我不知道这是否真的有任何影响。但是我提到的两个步骤就是你所需要做的。先生,你可以在那里查看更新的问题。我提到了如何设置数据到适配器非常感谢你的解决方案非常感谢你的解决方案