2015-09-02 5 views
-3

Как я могу удалить все элементы в своем ListView? У меня есть собственный адаптер, и я запускаю этот код, чтобы удалить все элементы, но это не работает:Android List View удалить все предметы

friendList = new ArrayList<FriendRow>(); 
//Later i call this to remove all the items. 
friendList.clear(); 
adapter.notifyDataSetChanged(); 
+3

Попробуйте 'myListView.setAdapter (null)' – Zarwan

+0

Собственно, это решило мою проблему, спасибо! – user3330053

ответ

1

Изменения в интерфейсе должны быть сделаны на UIThread. Вызов notifyDataSetChanged() не будет работать, если он не вызван в UIThread. Вы можете попробовать добавить что-то вроде:

public void clearAdapter() 
{ 
    runOnUiThread(new Runnable() 
    { 
     public void run() 
     { 
     friendList.clear(); 
     adapter.notifyDataSetChanged(); 
     } 
    }; 
} 

, а затем вызывается clearAdapter(), когда вы хотите его очистить.