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 😉

Dodaj komentarz

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

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