Unlimited Plugins, WordPress themes, videos & courses! Unlimited asset downloads! From $16.50/m
Advertisement
  1. Code
  2. Android Lollipop
Code

Početak Rada sa RecyclerView i CardView Alatnim Blokovima na Androidu

by
Difficulty:IntermediateLength:LongLanguages:

Croatian (Hrvatski) translation by Maja Petek (you can also view the original English article)

Ako vas zanima izgradnja Android aplikacija koja koristi liste da prikaže podatke, Android Lollipop sadrži dva nova widgeta koji će vam olakšati život, RecyclerView i CardView. Koristeći ove alatne blokove, vrlo je lako aplikaciji pružiti izgled i dojam prema smjernicama spomenutim u Google-ovim material design specifikacijama.

Preduvjeti

Kako biste mogli pratiti, trebali biste koristiti posljednju Android Studio verziju. Možete je preuzeti na Android Developer web stranici.

1. Podrška Starijih Verzija

U vrijeme pisanja ovog članka, manje od 2% Android uređaja pokreće Android Lollipop. Ipak, zahvaljujući v7 Support Library, možete upotrijebiti RecyclerView i CardView widgete na uređajima koje pokreću starije verzije Androida dodavanjem sljedećih linija dependencies odjeljku u vašoj build.grade datoteci:

2. Izrada CardView-a

CardView je ViewGroup. Kao i bilo koji drugi ViewGroup, može biti dodan u vaš Activity ili Fragment koristeći izgled XML datoteke.

Kako biste izradili prazan CardView, morali biste dodati sljedeći kod u vaš layout XML kao što je prikazano na sljedećem isječku:

Kao realističniji primjer, sada ćemo izraditi LinearLayout i unutar njega smjestiti CardView. CardView bi mogao predstavljati, na primjer, osobu i sadržavati sljedeće:

  • TextView da prikaže ime osobe
  • TextView da prikaže dob osobe
  • ImageView da prikaže fotografiju osobe

XML bi izgledao ovako:

Ako je ovaj XML korišten kao layout za Activity, sa TextView i ImageView poljima podešenim na značajne vrijednosti, ovako bi renderirao na Android uređaju:

A Stand-alone Card

3. Izrada RecycleView-a

1. korak: Definirajte ga u Layout-u

Korištenje RecycleView instance je malo kompliciranije. Ipak, definirati je u layout-u XML datoteke, prilično je jednostavno. Možete je definirati u layout-u kao što slijedi:

Kako biste ga vezali na vaš Activity, upotrijebite sljedeći isječak:

Ako ste sigurni da se veličina RecyclerView-a neće mijenjati, možete dodati sljedeće da unaprijedite izvedbu:

2. korak: Korištenje LayoutManager-a

Za razliku od ListView, RecyclerView treba LayoutManager da upravlja pozicioniranjem njegovih stavki. Mogli biste definirati vlastiti LayoutManager produženjem RecyclerView.LayoutManager klase. Ipak, u većini slučajeva, mogli biste samo upotrijebiti jednu od unaprijed definiranih LayoutManager podklasa:

  • LinearLayoutManager
  • GridLayoutManager
  • StaggerGridLayoutManager

U ovom tutorialu ja ću upotrijebiti LinearLayoutManager. Ova LayoutManager pod-klasa će, po zadanoj vrijednosti, učiniti vaš RecyclerView izgledom poput ListView-a.

3. korak: Definiranje Podataka

Baš kao i ListView, RecyclerView treba adapter da pristupi podacima. Ali prije nego što izradimo adapter, napraviti ćemo podatke s kojima možemo raditi. Napravite jednostavnu klasu koja predstavlja osobu i zatim napišite metodu da inicijalizirate List-u Person objekata:

4. korak: Izrada Adaptera

Kako biste napravili adapter koji RecyclerView može upotrijebiti, morate produžiti RecyclerView.Adapter. Ovaj adapter prati view holder uzorak dizajna, koji znači da definirate prilagođenu klasu koja produžuje RecyclerView.ViewHolder. Ovaj uzorak minimalizira broj poziva skupoj findViewById metodi.

Ranije u ovom tutorialu, već smo definirali XML layout za CardView koji predstavlja osobu. Taj layout ćemo ponovno upotrijebiti. Unutar konstruktora našeg prilagođenog ViewHolder-a, inicijalizirajte preglede koji pripadaju stavkama RecyclerView-a.

Zatim dodajte konstruktor prilagođenom adapteru da ga vežete podacima koje RecyclerView prikazuje. Pošto je naš podatak u obliku List-e Person objekata, upotrijebite sljedeći kod:

RecyclerView.Adapter ima tri apstraktne metode koje moramo premostiti. Počnimo sa getItemCount metodom. Ovo bi trebalo vratiti broj stavki prisutnih u podatku. S obzirom da je naš podatak u obliku List-e, trebamo samo pozvati size metodu na List objektu:

Zatim, premostite onCreativeViewHolder metodu. Kao što samo ime govori, ova metoda se poziva kada prilagođeni ViewHolder treba biti inicijaliziran. Specificiramo layout koji bi svaka stavka RecyclerView-a trebala koristiti. Ovo se radi podizanjem layout-a koristeći LayoutInflater, prenoseći izlazni rezultat konstruktoru prilagođenog ViewHolder-a.

Premostite onBindViewHolder da specificirate sadržaje svake stavke RecyclerView-a. Ova metoda je vrlo slična getView metodi ListView-ova adaptera. U našem primjeru, ovdje morate podesiti vrijednosti polja za ime, dob, i fotografiju CardView-a.

I konačno, morate premostiti onAttachedToRecyclerView metodu. Za sada, možemo jednostavno upotrijebiti implementaciju superklase ove metode kao što je prikazano ispod.

5. korak: Korištenje Adaptera

Sada kada je adapter spreman, u vaš Activity dodajte sljedeći kod da inicijalizirate i upotrijebite adapter pozivanjem adapterova konstruktora i RecyclerView-ove setAdapter metode:

6. korak: Kompiliranje i Pokretanje

Kada pokrenete RecyclerView primjer na Android uređaju, trebali biste vidjeti nešto slično sljedećem rezultatu.

Zaključak

U ovom tutorialu ste naučili kako upotrijebiti CardView i RecyclerView widgete koje su predstavljeni u Android Lollipop verziji. Također ste vidjeli primjere kako iskoristiti ove alatne blokove u Material Design aplikacijama. Iako RecyclerView može učiniti gotovo sve što i ListView, za male dataset-ove, još uvijek se više preferira korištenje ListView-a jer zahtijeva manje linija koda.

Možete potražiti Android Developers Reference za više informacija o CardView i RecyclerView klasama.


Advertisement
Advertisement
Advertisement
Advertisement
Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.