На самом деле вы должны сделать две вещи:
- вы должны попросить адаптер уведомить ListView о новых изменениях данных: notifyDataSetChanged ()
но это вступит в силу в следующий раз, когда ListView потребуется показать представление (скажем, после прокрутки списка). Другая проблема заключается в том, что ListView не будет запрашивать количество строк в списке, поэтому, если список стал короче, вы получите исключение нулевого указателя:)
Я предпочитаю использовать что-то вроде:
if(filterProvider.containsChildren(position)){
// go into the hierarchy
filterProvider.navigateToChildren(position);
adapter.notifyDataSetChanged();
adapter.notifyDataSetInvalidated();
listView.invalidateViews();
}else{
int ID = (int)filterProvider.getIdFromPosition(position);
activity.setResult(ID);
activity.finish();
}
Код является частью списка с несколькими уровнями (с иерархией)
Привет,
Саша Рудан