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()
が呼ばれるたびに実行されてしまうこと