'Ciekawe' pomyślałem, bo z jednej strony to dobrze, a z drugiej źle. Tak to już jest, wszystko ma plusy i minusy. No ale 'osochozi'?
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
| public class MyIconAdapter extends ArrayAdapter<Object>
|
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ć ;)