我在同一个Activity中有一个微调器和一个列表视图。 listview加载了一个项目列表。我想当用户从微调器点击项目时,列表视图将被清除,新的列表视图将根据微调器中的项目选择加载
setListAdapter(new ArrayAdapter<String>(this, R.layout.listviewxml, video));
ListView lv=getListView();
lv.setTextFilterEnabled(true);
请告诉我该怎么做?
我无法清除列表视图
答案 0 :(得分:16)
如果您已将列表或数组传递给适配器,则
// Clear collection..
collection.clear();
// Add data to collection..
collection.add();
// Refresh your listview..
listview.getAdapter().notifyDataSetChanged();
(这些代码与伪代码类似,您的语法可能会有所不同)
答案 1 :(得分:5)
在Spinner
适配器的ListView
使用中选择新项目时
//Clear existing items
listAdapter.clear();
//Add new items
listAdapter.addAll(collectionOfItems);
//Notify that the data has changed
listAdapter.notifyDataSetChanged();
答案 2 :(得分:2)
您可以尝试将null适配器设置为listview。所以你可以这样做:
lv.setadapter(null);
答案 3 :(得分:0)
您应该存储对适配器的引用并对其执行清除。然后,您可以使用适配器再次添加更多项目。
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.listviewxml, video);
setListAdapter(adapter);
然后再使用
adapter.clear();
答案 4 :(得分:0)
试试这个。它对我有用:)
YourArrayList_Object.clear(); // clear the listview
或强>
ArrayList<DetailsForCallhistoryListActivity> callhistory_details_list;
然后
callhistory_details_list.clear();