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

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

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

 

Android Studio
2024.1.1

 




Spinner

 

レイアウトにスピナーを追加するには <Spinner /> の要素で行います。
 

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

 

選択肢を設定

 

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

 
この項目の作成方法は色々あります。
resourceでリストを作ったり、Spinnerに要素をaddしたり。
要素を把握しやすいのでいつもArrayList、あるいは配列にしますが
文字列リソースで作成することもかのうです。

 

Spinnerのインスタンス生成、Adapterを設定

 

ArrayAdapterに設定します。
これを使うと、その選択肢を良い具合に並べて設定をしてくれます。
 

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

 
setDropDownViewResource(int) 、ユーザーが選択しようとするときにドロップダウンによりリストを表示するのに使うレイアウトを指定します。
 
simple_spinner_dropdown_item もプラットフォームで定義された標準的なレイアウトですので、このレイアウトも作る必要はありません。

 

選択肢が選択された時の処理

 

Spinner にリスナーを登録、選択された場合の挙動を記述します。
Spinnerオブジェクトが on-item-selected イベントを取得する時にAdapterView.OnItemSelectedListener インターフェースと、対応する onItemSelected() コールバック メソッドを実装します。
 

 

サンプルコード

 

まとめてみるとこうなります
 
MainActivity.java

 
activity_main.xml

 

 

 

文字列リソースのケース

 

配列ではなく文字列リソースで作成するときはこのようになります。

res\values\
その下に例えば planets_array.xml を作成して以下のように記述します。
 
planets_array.xml

 
Spinnerを以下のように設定します。

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

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

 
References:
スピナー | Android Developers
ArrayAdapter | Android Developers

シェアする

  • このエントリーをはてなブックマークに追加

フォローする