Home » Android » How to clear an Android ListView and populate it with new data?

How to clear an Android ListView and populate it with new data?

Posted by: admin June 15, 2020 Leave a comment

Questions:

I have a spinner and a listview in the same Activity. The listview is loaded with a list of items. i want when user clicks on the item from spinner the listview will be clear and new listview will load according to item chooses in spinner

    setListAdapter(new ArrayAdapter<String>(this, R.layout.listviewxml, video));

       ListView lv=getListView();

       lv.setTextFilterEnabled(true);

enter image description here

Please tell how to do this?

i am not able to clear the listview

How to&Answers:

If you have passed a List or an Array to the Adapter, then

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

(These codes are like pseudo code, your syntax may vary)

Answer:

When a new item is chosen in your Spinner use on your ListView adapter :

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

Answer:

You could just try setting a null adapter to the listview. So you could just do :

    lv.setadapter(null);

Answer:

You should store a reference to the Adapter and perform clear on that. Then you can add more items again using the Adapter.

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

then later use

adapter.clear();

Answer:

Try this. its works for me:)

 YourArrayList_Object.clear(); // clear the listview 

or

ArrayList<DetailsForCallhistoryListActivity> callhistory_details_list; 

then

callhistory_details_list.clear();