[Android] プルダウンで項目選択できるSpinnerをアプリに設定する

Android7 

ユーザーにちょっとした項目を選択してもらいたいときに便利なのはSpinnerです。プルダウンで選択項目が現れる簡単なアプリを作ってみましょう。
 

Android Studio 2.3
Android 7.1.1

 


Spinner

 
Spinnerの構成は ListView に似ています。

  1. 選択肢を設定する
  2. Spinnerのインスタンスを生成して、Adapterを設定
  3. 選択肢が選択された時の処理を記述

1. 選択させたい項目を作ります。例えば配列

この項目の作成方法は色々あります。resourceでリストを作ったり、Spinnerに要素をaddしたり。私は要素を把握しやすいのでいつもArrayListか配列にします。
 
2. ArrayAdapterに設定します。
これを使うと、その選択肢を良い具合に並べてる設定をしてくれます。

simple_spinner_item はプラットフォームによって提供され、デフォルトのレイアウトとして使用できます。レイアウトを自分で作成する必要はありません。
 

setDropDownViewResource(int) 、ユーザーが選択しようとするときにドロップダウンによりリストを表示するのに使うレイアウトを指定します。

simple_spinner_dropdown_item もプラットフォームで定義された標準的なレイアウトですので、このレイアウトも作る必要はありません。
 
3.  Spinner にリスナーを登録、選択された場合の挙動を記述します。
Spinner 
オブジェクトが on-item-selected イベントを取得する時にAdapterView.OnItemSelectedListener インターフェースと、対応する onItemSelected() コールバック メソッドを実装します。
 
まとめてみるとこうなります
 
MainActivity.java

 
activity_main.xml

 
Spinnerの文字サイズを変更したい場合は、レイアウトをカスタムで ArrayAdapter に設定するとできます。

References:
Spinners
ArrayAdapter