Spinner bez adaptera – #28

Kiedy pierwszy raz uzupełniałam dropdown danymi dokumentacja kazała mi stworzyć adapter, a następnie podpiąć go pod dropdown. Ale można to zrobić inaczej 🙂

Dla dropdowna ze statystykami mam zadeklarowaną listę wartości. Aż dwie: obiady i składniki:


<string-array name="statistics_items">
<item>@string/dinners</item>
<item>@string/ingredients</item>
</string-array>

view raw

arrays.xml

hosted with ❤ by GitHub

Pierwotna wersja kodu, który populował wartości do dropdowna wyglądała tak:


Spinner spinner = (Spinner) findViewById(R.id.statistics_spinner);
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this, R.array.statistics_items, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter);

Odnalezienie dropdowna po id, stworzenie adaptera, przekazanie mu wartości, ustawienie layoutu dla dropdowna, podpięcie adaptera pod dropdown, ale przecież ja w sumie chcę tylko wyświetlić te elementy na liście… Okazało się, że można to po prostu zrobić w xml-u.


<Spinner
android:id="@+id/statistics_spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="20dp"
android:entries="@array/statistics_items"/>

I o 3 linijki kodu mniej 😉

Skomentuj

Proszę zalogować się jedną z tych metod aby dodawać swoje komentarze:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s

Ta witryna wykorzystuje usługę Akismet aby zredukować ilość spamu. Dowiedz się w jaki sposób dane w twoich komentarzach są przetwarzane.