Close

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:

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

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:

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:

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.

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.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: