Главная » С помощью 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
}
}
Ну что, запускаем и смотрим, что у нас получилось: | |
|
Всего комментариев: 0 | |