Выпадающий список Spinner
В этом уроке мы разберём создание выпадающего списка (Spinner) в Android Studio.
Spinner — это выпадающий список, позволяющий разработчику мобильного приложения предоставлять пользователю возможность выбора тех или иных действий, которые будет выполнять приложение.
Создадим новое приложение в Android Studio, выбрав Start a new Android Studio project. Назовём проект SpinnerLesson (поле Application name). Домен компании назовём lessons.ru (поле Company domain). Выберем каталог расположения нашего проекта в поле Project location. И нажмём кнопку Next.
В следующем окне можно выбрать настройки в соответствии и изображением и нажать Next. Выберем Empty Activity (пустой активити) и нажмём Next. Имя главного Activity можно оставить так как есть, то есть MainActivity и нажать Finish. После создания проекта в открывшемся окне есть один Activity, это MainActivity. Теперь перейдём к представлению главного Activity, то есть к Activity_main.xml. Он представляет собой xml-файл и хранится в папке ресурсов res _в подпапке _layout.
Заменим всё содержимое activity_main.xml на следующее:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" tools:context="ru.lessons.spinnerlesson.MainActivity"> <Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/spAutoBrands"></Spinner> </LinearLayout>
Где Spinner и есть тот самый выпадающий список.
Теперь перейдём к MainActivity и отредактируем его таким образом, чтобы его содержимое соответствовало следующему коду:
package ru.lessons.spinnerlesson; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.AdapterView; import android.widget.ArrayAdapter; import android.widget.Spinner; import android.widget.Toast; public class MainActivity extends AppCompatActivity { //Массив для заполнения списка private String[] autoBrands = {"Toyota", "Nissan", "BMW"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ArrayAdapter<String> autoBrandsAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, autoBrands); autoBrandsAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); //Находим выпадающий список по его id spAutoBrands Spinner spAutoBrands = (Spinner) findViewById(R.id.spAutoBrands); //Устанавливаем адаптер spAutoBrands.setAdapter(autoBrandsAdapter); //Устанавливаем обработчик события списка, //который будет срабатывать при выборе элемента списка spAutoBrands.setOnItemSelectedListener(onItemSelectedListener()); } //Обработчик события списка AdapterView.OnItemSelectedListener onItemSelectedListener() { return new AdapterView.OnItemSelectedListener() { @Override public void onItemSelected(AdapterView<?> parent, View view, int position, long id) { //Выводим на экран содержимое элемента списка Toast.makeText(getBaseContext(), parent.getSelectedItem().toString(), Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView<?> parent) { } }; } }
Где строковый массив private String[] autoBrands = {«Toyota», «Nissan», «BMW»} – это пункты выпадающего списка. Функция
Более подробно смотрите в видеоролике или в моем блоге.