Как очистить ListView Android и заполнить его новыми данными?



У меня есть спиннер и listview в одном и том же действии. Listview загружается со списком элементов. я хочу, когда пользователь нажимает на элемент из spinner, listview будет ясен, и новый listview загрузится в соответствии с выбором элемента в spinner



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

ListView lv=getListView();

lv.setTextFilterEnabled(true);


Введите описание изображения здесь



Пожалуйста, скажите, как это сделать?

Я не могу очистить listview

615   5  

5 ответов:

Если вы передали Список или массив адаптеру , то

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

(Эти коды похожи на псевдокод, ваш синтаксис может отличаться)

Когда новый элемент выбран в вашем Spinner использовании на вашем ListView адаптере:

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

Вы можете просто попробовать установить нулевой адаптер в listview. Так что вы могли бы просто сделать:

    lv.setadapter(null);

Вы должны хранить ссылку на адаптер и выполнять четкие действия. Затем вы можете снова добавить дополнительные элементы с помощью адаптера.

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

Затем

adapter.clear();

Попробуйте это. его работы для меня:)

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

Или

ArrayList<DetailsForCallhistoryListActivity> callhistory_details_list;

Затем

callhistory_details_list.clear();

Comments

    Ничего не найдено.