stwórzmy coś – ListView – #01

Zaczęłam od podstaw. W Android studio utworzyłam nowy projekt. Wybrałam Androida z minimalną wersją 5.1 (taką jaką mam w swoim telefonie). Podłączyłam telefon i uruchomiłam aplikację. Powitał mnie ładny napis „Hello world” 🙂

Na początku stworzyłam listę 7 obiadów:

https://gist.github.com/jezinka/0f039ecc305ff5e92a911860c4620ee5

Z pliku activity_main.xml, który zawiera layout, usunęłam TextView z komunikatem „Hello World!” i zastąpiłam go:

https://gist.github.com/jezinka/1c14d4b5c5774fbdbccb080820db6932

OK. Mój listview ma szerokość taką jak nadrzędny element (match_parent) i długość dopasowująca się do zawartości (wrap_content). I co teraz, jest lista, jest kontener. Zaglądamy do dokumentacji i tutoriala i po chwili moja klasa  MainActivity wyglądał tak:

https://gist.github.com/jezinka/205b6cb73416540b19d94e3c763e0495

https://gist.github.com/jezinka/205b6cb73416540b19d94e3c763e0495.js

ArrayAdapter jest miły i buduje nam TextView dla każdego elementu z tablicy jaką mu podaliśmy i przekazuje go do listView.

No to budujemy:

wp-1488299936960.png

Fajnie, działa ;P ale jeszcze chciałam, żeby było pokazane, że spis jest od soboty do piątku. Potrzebujemy wyciągnąć z Javy listę dni tygodnia. Możemy zrobić to tak:

https://gist.github.com/jezinka/dec87975f5f4cff0bfc66afc71b87dfd

Czemu ten for taki? Bo getWeekdays() na pierwszej pozycji ma pusty String.

Czemu robię rotate? Bo potrzebuję listę od soboty, a to mi załatwia sprawę 🙂

Czy będę tej funkcji potrzebować przez długi czas? Nie, jak tylko napiszę funkcję, która zwraca mi instancje daty dla minionej (lub obecnej) soboty, ten kawałek kodu będzie tylko wspomnieniem w repozytorium.

Funkcja nam się troszkę rozrosła, więc przeniosę tworzenie wiersza do osobnej funkcji i wykorzystam StringBuffer, bo nie wiem co jeszcze przyjdzie mi do głowy wrzucać zanim nie uznam, że wygląda ok.

https://gist.github.com/jezinka/a945a51c6959129e7bfe9acfd238454e

Budujemy i widzimy:

wp-1488375930633.png

To wersja zupełnie wstępna i nie przywiązuję się do niej. Same hardkody i żadnych testów, ale moim celem było wystartowanie czegokolwiek na androidzie 😉 ListView jest dość skromny, więc niedługo pewnie znajdę alternatywę.

Nieźle jak na początek.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.