如何清除Android ListView并用新数据填充它?

我在同一个Activity中有一个微调器和一个列表视图。 listview加载了一个项目列表。 我想当用户从微调器点击项目时,列表视图将被清除,新的列表视图将根据微调器中的项目选择加载

setListAdapter(new ArrayAdapter(this, R.layout.listviewxml, video)); ListView lv=getListView(); lv.setTextFilterEnabled(true); 

在此处输入图像描述

请告诉我怎么做?

我无法清除列表视图

如果您已将List或数组传递给适配器 ,那么

 // Clear collection.. collection.clear(); // Add data to collection.. collection.add(); // Refresh your listview.. listview.getAdapter().notifyDataSetChanged(); 

(这些代码类似于伪代码,您的语法可能会有所不同)

在您的ListView适配器上使用Spinner选择新项目时:

  //Clear existing items listAdapter.clear(); //Add new items listAdapter.addAll(collectionOfItems); //Notify that the data has changed listAdapter.notifyDataSetChanged(); 

您可以尝试将null适配器设置为listview。 所以你可以这样做:

  lv.setadapter(null); 

您应该存储对适配器的引用并对其执行清除。 然后,您可以使用适配器再次添加更多项目。

 ArrayAdapter adapter = new ArrayAdapter(this, R.layout.listviewxml, video); setListAdapter(adapter); 

然后用

 adapter.clear(); 

尝试这个。 它的作品对我来说:)

https://stackoverflow.com/a/41158674/7200297

要么

 ArrayList callhistory_details_list; 

然后

 callhistory_details_list.clear();