2012-04-15 13 views
14

Podczas tworzenia dostosowanego adapter dla ListView w systemie Android, widzę, że muszę utworzyć klasę rozszerza ArrayAdapter klasy i wdraża metodę getView(..).Kiedy getView() w ArrayAdapter nazywa się

Wszystko to jest OK, ale chcę poznać kolejność wywoływania metod i wykonywania. tj. w którym punkcie kodu jest wywoływany getView()?

+1

Skorzystaj z [LINK] (http://www.ezzylearning.com/tutorial.aspx?tid=1763429&q=customizing-android-listview-items-with-custom-arrayadapter), który ma przejrzyste i sieciowe objaśnienia CustomAdapter numer próbki kod –

Odpowiedz

7

Dokumenty z systemu Android - Obiekt adaptera działa jako pomost między produktem AdapterView (takim jak ListView w twoim przypadku) a danymi bazowymi dla tego widoku. Adapter zapewnia dostęp do elementów danych i jest również odpowiedzialny za tworzenie widoku dla każdego elementu w zestawie danych.

Tak więc za każdym razem, gdy ListView musi wyświetlić określony wiersz danych, żąda powiązanego adaptera, aby zapewnić widok odpowiadający danym w tej pozycji za pomocą metody getView(). Może się to zdarzyć, gdy widok wymaga aktualizacji na ekranie (np. Podczas tworzenia/przewijania itp.).

Jako programista aplikacji nie musisz się martwić, w którym momencie wywoływana jest funkcja getView(), pod warunkiem, że implementujesz w adapterze konkretną implementację getView(). Upewnij się, że metoda jest skuteczna (miniatury itp. Powinny być ładowane w wątku tła), aby uzyskać optymalną wydajność.

+0

Jak możesz mieć śmiałość, aby powiedzieć pytającemu, że nie musi się martwić o zrozumienie, jak to, co on używa działa? –

0
getView(int position, View view, ViewGroup parent) 

nazywa dla

List of Objects 

o numerach elementów za pomocą

getItem(int position) 

na długość naszej listy

tak, nazywa nos razy aż całej twojej liście przydzielono układ i dane z listy.

Powiązane problemy