Archiwa tagu: RecyclerView

Android. Jak zrobić wydajną listę zawierającą elementy różnego typu przy pomocy RecyclerView. Cz.3

android-128Mamy zdefiniowane rodzaje elementów, obiekty typu view holder dla nich, abstrakcyjny adapter oparty o typy generyczne, oraz renderujący listę RecyclerView. Pozostało nam już tylko podłączyć do elementów listy metody obsługujące kliknięcia. W głównej aktywności dodamy też metody pozwalające na zareagowanie w różny sposób dla każdego typu elementu.
Czytaj dalej

Android. Jak zrobić wydajną listę zawierającą elementy różnego typu przy pomocy RecyclerView. Cz.2

android-128W pierwszej części tutoriala stworzyliśmy widoki elementów listy oraz ich model danych. Przewijanie listy zawierającej dużą liczbę elementów wiąże się z częstym wywoływaniem metody findViewById, co może znacznie obniżyć wydajność a w rezultacie spowodować, że lista nie będzie przewijała się płynnie. Sposobem na obejście tego problemu jest wzorzec projektowy View Holder. Idea wzorca polega na stworzeniu obiektu, który będzie przechowywał w swoich polach referencje do kontrolek widoku raz pobranych z layoutu metodą findViewById. Kiedy będzie potrzeba odwołania się do kontrolki, robimy to po prostu po przez pole tego obiektu.
Czytaj dalej

Android. Jak zrobić wydajną listę z zawierającą elementy różnego typu przy pomocy RecyclerView. Cz.1

android-128Potrzebujemy wyświetlić listę zawierającą elementy różnego typu. Dla przykładu niech to będzie lista polecanych produktów sklepu na której mogą się znaleźć np. płyta DVD, książka i tp. Lista może też zawierać elementy nie będące produktami jak nagłówek listy czy separator sekcji. Każdy z tych elementów ma swój własny widok z layoutem różnym od pozostałych. Elementy te mają swoje modele danych, reprezentowane przez obiekty różnych klas. Lista może być długa, więc potrzebujemy zarządzania pamięcią jaki oferuje RecyclerView.
Czytaj dalej