Dzisiaj robiłem sobie prostą listę, którą podpiąłem do widoku jako ListView. Oczywiście nie chciałem aby wyglądała standardowo, dlatego musiałem stworzyć własny Adapter, a dokładniej ArrayAdapter. Miała to być lista z ikonkami po boku:
1 |
|
Potem należało nadpisać metodę getView i wpisać dowolny kod.
1 2 | @Override public View getView(int position, View convertView, ViewGroup parent) |
I w tym momencie, nareszcie, dochodzimy do meritum tego posta :)
Jeśli lista jest zbyt długa, żeby wyświetlić ją na ekranie to podczas przesuwania ekranu za każdym razem, dla kolejnych elementów wywoływana jest metoda getView! Czyli każdy element jest 'generowany' na bieżąco, a po starcie aplikacji wczytywane są tylko elementy widoczne.
Może parę słów dlaczego? Otóż programiści Androida w ten sposób wyłuskują ograniczenie zjadania pamięci, niepotrzebnych obliczeń, a co za tym idzie, również mniejsze zużycie baterii. Dobry pomysł! Chociaż przy listach większych gabarytów potrafi przymulić ;)