Как очистить список Android ListView и заполнить его новыми данными? - PullRequest
8 голосов
/ 29 ноября 2011

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

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

       ListView lv=getListView();

       lv.setTextFilterEnabled(true);

enter image description here

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

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

Ответы [ 5 ]

16 голосов
/ 29 ноября 2011

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

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

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

5 голосов
/ 29 ноября 2011

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

    //Clear existing items
    listAdapter.clear();
    //Add new items
    listAdapter.addAll(collectionOfItems);
    //Notify that the data has changed
    listAdapter.notifyDataSetChanged();
2 голосов
/ 04 июля 2016

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

    lv.setadapter(null);
0 голосов
/ 15 декабря 2016

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

 YourArrayList_Object.clear(); // clear the listview 

или

ArrayList<DetailsForCallhistoryListActivity> callhistory_details_list; 

, затем

callhistory_details_list.clear();
0 голосов
/ 29 ноября 2011

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

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

затем позже используйте

adapter.clear();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...