Używam ArrayAdapter do dodawania elementów do niestandardowego ListView i wyświetlania wyników w mojej aplikacji na Androida. Problemem, który mam, jest to, że ArrayAdapter wydaje się czekać, aż wszystkie elementy będą w nim, zanim wyświetli widok. To znaczy, kiedy dodaję elementy do ArrayAdapter i wzywam notifyDataSetChanged, to nie aktualizuje ListView, aby pokazać dodany element. Czeka, aż wszystkie pozycje zostaną dodane, a GetView zostanie wywołany przed wyświetleniem elementów.Android - Dodawanie i wyświetlanie pozycji do ListView pojedynczo za pomocą ArrayAdapter
To, co chciałbym zrobić, to pokazać element natychmiast po dodaniu go do ListView. czy to możliwe?
wierzę odpowiedni kod jest następujący:
r_adapter = new ReminderAdapater(Activity_ContentSearch.this, R.layout.search_listitem, myList);
listView.setAdapter(r_adapter);
...
r_adapter.notifyDataSetChanged();
r_adapter.clear();
for(int i = 0; i < myList.size(); i++)
{
r_adapter.add(myList.get(i));
r_adapter.notifyDataSetChanged();
}
Jak widać, mimo Wołam notifyDataSetChanged po metody dodawać, że w rzeczywistości nie aktualizuje widok. Po zakończeniu powyższej pętli widok jest ostatecznie aktualizowany (na podstawie tego, co wiem, to dlatego, że GetView nie jest wywoływany, dopóki ta sekcja kodu nie zostanie wykonana).
Próbowałem przesłonić metodę dodawania mojego niestandardowego ArrayAdapter bez powodzenia, ponieważ nie mam dostępu do widoku w tej metodzie.
Każda pomoc będzie mile widziana :)
Bara