HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>В этом уроке мы разберём создание выпадающего списка (Spinner) в Android Studio.</p>
1 <p>В этом уроке мы разберём создание выпадающего списка (Spinner) в Android Studio.</p>
2 <p><strong>Spinner</strong>- это выпадающий список, позволяющий разработчику мобильного приложения предоставлять пользователю возможность выбора тех или иных действий, которые будет выполнять приложение.</p>
2 <p><strong>Spinner</strong>- это выпадающий список, позволяющий разработчику мобильного приложения предоставлять пользователю возможность выбора тех или иных действий, которые будет выполнять приложение.</p>
3 <p>Создадим новое приложение в<strong>Android Studio</strong>, выбрав<strong>Start a new Android Studio project</strong>. Назовём проект<strong>SpinnerLesson</strong>(поле<strong>Application name</strong>). Домен компании назовём<strong>lessons.ru</strong>(поле<strong>Company domain</strong>). Выберем каталог расположения нашего проекта в поле<strong>Project location</strong>. И нажмём кнопку<strong>Next</strong>.</p>
3 <p>Создадим новое приложение в<strong>Android Studio</strong>, выбрав<strong>Start a new Android Studio project</strong>. Назовём проект<strong>SpinnerLesson</strong>(поле<strong>Application name</strong>). Домен компании назовём<strong>lessons.ru</strong>(поле<strong>Company domain</strong>). Выберем каталог расположения нашего проекта в поле<strong>Project location</strong>. И нажмём кнопку<strong>Next</strong>.</p>
4 <p>В следующем окне можно выбрать настройки в соответствии и изображением и нажать<strong>Next</strong>. Выберем<strong>Empty Activity</strong>(пустой активити) и нажмём<strong>Next</strong>. Имя главного<strong>Activity</strong>можно оставить так как есть, то есть<strong>MainActivity</strong>и нажать<strong>Finish</strong>. После создания проекта в открывшемся окне есть один<strong>Activity</strong>, это<strong>MainActivity</strong>. Теперь перейдём к представлению главного<strong>Activity</strong>, то есть к Activity_main.xml. Он представляет собой xml-файл и хранится в папке ресурсов<em>res _в подпапке _layout</em>.</p>
4 <p>В следующем окне можно выбрать настройки в соответствии и изображением и нажать<strong>Next</strong>. Выберем<strong>Empty Activity</strong>(пустой активити) и нажмём<strong>Next</strong>. Имя главного<strong>Activity</strong>можно оставить так как есть, то есть<strong>MainActivity</strong>и нажать<strong>Finish</strong>. После создания проекта в открывшемся окне есть один<strong>Activity</strong>, это<strong>MainActivity</strong>. Теперь перейдём к представлению главного<strong>Activity</strong>, то есть к Activity_main.xml. Он представляет собой xml-файл и хранится в папке ресурсов<em>res _в подпапке _layout</em>.</p>
5 <p>Заменим всё содержимое<strong>activity_main.xml</strong>на следующее:</p>
5 <p>Заменим всё содержимое<strong>activity_main.xml</strong>на следующее:</p>
6 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;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"&gt; &lt;Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/spAutoBrands"&gt;&lt;/Spinner&gt; &lt;/LinearLayout&gt;<p>Где<strong>Spinner</strong>и есть тот самый выпадающий список.</p>
6 &lt;?xml version="1.0" encoding="utf-8"?&gt; &lt;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"&gt; &lt;Spinner android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/spAutoBrands"&gt;&lt;/Spinner&gt; &lt;/LinearLayout&gt;<p>Где<strong>Spinner</strong>и есть тот самый выпадающий список.</p>
7 <p>Теперь перейдём к<strong>MainActivity</strong>и отредактируем его таким образом, чтобы его содержимое соответствовало следующему коду:</p>
7 <p>Теперь перейдём к<strong>MainActivity</strong>и отредактируем его таким образом, чтобы его содержимое соответствовало следующему коду:</p>
8 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&lt;String&gt; autoBrandsAdapter = new ArrayAdapter&lt;String&gt;(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&lt;?&gt; parent, View view, int position, long id) { //Выводим на экран содержимое элемента списка Toast.makeText(getBaseContext(), parent.getSelectedItem().toString(), Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView&lt;?&gt; parent) { } }; } }<p>Где строковый массив<em>private String[] autoBrands = {"Toyota", "Nissan", "BMW"}</em>- это пункты выпадающего списка. Функция onItemSelectedListener() - это обработчик события, который срабатывает при выборе элемента списка.</p>
8 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&lt;String&gt; autoBrandsAdapter = new ArrayAdapter&lt;String&gt;(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&lt;?&gt; parent, View view, int position, long id) { //Выводим на экран содержимое элемента списка Toast.makeText(getBaseContext(), parent.getSelectedItem().toString(), Toast.LENGTH_SHORT).show(); } @Override public void onNothingSelected(AdapterView&lt;?&gt; parent) { } }; } }<p>Где строковый массив<em>private String[] autoBrands = {"Toyota", "Nissan", "BMW"}</em>- это пункты выпадающего списка. Функция onItemSelectedListener() - это обработчик события, который срабатывает при выборе элемента списка.</p>
9 <p>Toast.makeText(getBaseContext(), parent.getSelectedItem().toString(), Toast.LENGTH_SHORT).show() выводит содержимое выбранного элемента списка на экран. Первый параметр этой функции - это контекст, второй параметр - само сообщение, третий параметр - временной интервал, в течении которого сообщение будет находиться на экране.</p>
9 <p>Toast.makeText(getBaseContext(), parent.getSelectedItem().toString(), Toast.LENGTH_SHORT).show() выводит содержимое выбранного элемента списка на экран. Первый параметр этой функции - это контекст, второй параметр - само сообщение, третий параметр - временной интервал, в течении которого сообщение будет находиться на экране.</p>
10 <p>Более подробно смотрите в<a>видеоролике</a>или в<a>моем блоге</a>.</p>
10 <p>Более подробно смотрите в<a>видеоролике</a>или в<a>моем блоге</a>.</p>
11  
11