Освежающий базовый адаптер с вектором элементов (Android) - PullRequest
1 голос
/ 21 марта 2011

У меня есть Вектор элементов, которые я установил в подкласс BaseAdapter, и этот адаптер работает с этими элементами

Мне нужно обновить свой список, поэтому я устанавливаю новый вектор в свой класс адаптера и вызываю метод adapter.notifyDataSetChanged();, но он все еще работает.

как я могу это исправить

UPDT:

Вот код моего метода обновления

public void updateGroups(Page page) {
        this.page = page;
        listView = (ListView)findViewById(R.id.groups_list);
        SelectGroupsListAdapter adapter =(SelectGroupsListAdapter)listView.getAdapter();
        adapter.setGroups(page.getItems());
        listView.invalidate();
        adapter.notifyDataSetChanged();



    }

1 Ответ

0 голосов
/ 21 марта 2011

Я предполагаю, что adapter.setGroups (page.getItems ()); добавьте объекты в адаптер, и вы окажетесь в ListActivity. Итак, вы попробовали это:

((SelectGroupsListAdapter) getListAdapter ()). NotifyDataSetChanged ();

или

((SelectGroupsListAdapter) listAdapter) .notifyDataSetChanged ();

если ваши setGroups (page.getItems ()) установили новый вектор, обязательно добавьте явно каждый элемент вектора:

внутренний метод адаптера: setGroups (...)

public void setGroups(List<?> newData){
  for(Object o : newData){
    add(o);
  }
}
...