Spinnerの利用

Spinnerの利用

Spinnerは、ArrayAdapterを使い
文字配列をセットすることで
ドロップダウンリストを表示できる

これは、Wikipediaのモバイル画面ででる
タップすると詳細がでるようなかんじ

まずは、レイアウトファイルで定義

<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
layout_height="wrap_content"/>

次に、Javaでdropdownリストに表示するアイテムを設定するため
Adapterを作成してSpinnerへセット

まずは、Adapterの作成

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item);

adapter.setDropdownViewResource(android.R.layout.simple_spinner_dropdown_item);

adapter.add("red");
adapter.add("blue");
adapter.add("green");

次に、SpinnerへAdapterをセット

Spinner spinner = (Spinner)findViewById(R.id.spinner);
spinner.setAdapter(adapter);

次に、Spinnerへ
setOnItemSelectedListener
をセットし、アイテムが選択されたときのイベント取得

spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){

@Override
public void OnItemSelected(AdapterView<?> parent, View view, int position, long id){

String item = (String)parent.selectedItem();
Toast.makeText(MainActivity.this, item + "を選択しました", Toast.LENGTH_SHORT).show();

}

@Override
public void onNothingSelected(AdapterView<?> arg0){
}
});

これで実装できる

setOnSelectedItemListener
を使うときの注意点は、
setOnSelectedItemListenerを使えばアイテムが
セットされたときのイベント取得ができるけど
画面回転などでonCreate()
が呼ばれるたびに実行されてしまうこと

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です