С помощью Spinner создаем выпадающий список
Главная » С помощью Spinner создаем выпадающий список

Мы недавно создавали выпадающий список с помощью такого элемента Android интерфейса, как Expandable ListView. Чтобы стать просто законченными асами в создании выпадающих списков, сегодня мы сделаем выпадающий список с помощью такого элемента, как Spinner. Сделаем приложение, в котором при нажатии на элемент Spinner будет отображаться выпадающее меню, а нажатие на пункты меню будет вызывать отображение Toast сообщения. 

Начинаем, создаем новый Android проект, названия я оставлю по умолчанию, выбираем Blank Activity. Сразу откроем файл со строковыми ресурсами приложения strings.xml и добавим строку, которую используем в дальнейшем для наименования нашего Spinner:

<string name="spinner_title">Выбор пункта</string>

Теперь перейдем к работе в файле activity_main.xml и добавим сюда элемент Spinner и TextView:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical"
 android:padding="10dip"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content">
 <TextView
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:layout_marginTop="10dip"
 android:text="Выпадающий список:"
 android:layout_marginBottom="5dp"/>
 <Spinner
 android:id="@+id/spinner"
 android:layout_width="fill_parent"
 android:layout_height="wrap_content"
 android:prompt="@string/spinner_title"/>
</LinearLayout>

Теперь осталось зайти в файл java класса приложения под названием MainActivity.java и добавить ему выполнение OnItemSelectedListener, а также создать набор слов, которые будут отображаться в выпадающем списке и присоединить их к элементу Spinner. Также здесь мы создадим отображение Toast сообщения, в котором будет отображено выбранное из списка слово:

import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast;
import android.widget.AdapterView.OnItemSelectedListener;

public class MainActivity extends Activity implements OnItemSelectedListener{

 @Override
 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);

 //Инициализируем элемент Spinner:
 Spinner spinner = (Spinner) findViewById(R.id.spinner);

 //Настраиваем слушатель нажатий Spinner(Click Listener в смысле):
 spinner.setOnItemSelectedListener(this);

 //Создаем массив элементов выпадающего списка:
 List<String> elements = new ArrayList<String>();
 elements.add("Элемент 1");
 elements.add("Элемент 2");
 elements.add("Элемент 3");
 elements.add("Элемент 4");
 elements.add("Элемент 5");
 elements.add("Элемент 6");

 //Создаем для spinner адаптер:
 ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
 android.R.layout.simple_spinner_item, elements);

 //Настраиваем внешний вид выпадающего списка, используя готовый системный шаблон:
 dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

 //Присоединяем адаптер данных к spinner:
 spinner.setAdapter(dataAdapter);
 }

 @Override
 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
 //Выбираем элемент выпадающего списка:
 String item = parent.getItemAtPosition(position).toString();
 //Показываем выбранный элемент с помощью Toast сообщения:
 Toast.makeText(parent.getContext(), "Выбрано: " + item, Toast.LENGTH_LONG).show();
 }

 public void onNothingSelected(AdapterView<?> arg0) {
 // TODO Auto-generated method stub

 }
}

Ну что, запускаем и смотрим, что у нас получилось:

Spinner во всей красе

Категория: Уроки программирования | Просмотров: 1182 | Добавил: Oleg | Теги: интерфейс, Spinner, выпадающий список, Android программирование | Рейтинг: 0.0/0
Всего комментариев: 0
avatar