Spinnerの使用
複数の候補から値を選択するためのUIコントロール。そのためリストから選択する用途なら一番簡単に設定できる。
参考
使用クラス
Spinner と SpinnerAdapterインターフェースの実装をを組み合わせて使用する。
Spinner は表示用のウィジェット、SpinnerAdapterは Spinnerとデータリストを Adaptする。
Spinner は表示用のウィジェット、SpinnerAdapterは Spinnerとデータリストを Adaptする。
コード例
Spinner と 配列を扱うSpinnerAdapterの実装であるArrayAdapterを使用し、リソースに規定された配列で作成する。
- レイアウト
<Spinner android:id="@+id/PetSpinner" android:layout_width="wrap_content" android:layout_height="wrap_content" />
- String.xml
<string-array name="pet_array"> <item >dog</item> <item >cat</item> <item >fish</item> <item >bird</item> <item >reptile</item> </string-array>
- アクティビティのonCreate
- createFromResource の引数2番目に配列のリソースID、3番目にドロップダウンリストに使用するレイアウトを指定する。レイアウトは予め用意されたものを使用しているが、自分で作成したレイアウトを指定することも出来る。
- setOnItemSelectedListener でアイテムが選択された際のコールバックを指定する。指定するクラスは OnItemSelectedListenerインタフェース を実装すれば良い。この例では、アクティビティに実装することになる。
Spinner petSpinner = (Spinner)findViewById(R.id.PetSpinner); this.getResources().getStringArray(R.array.sample_array); ArrayAdapter<CharSequence> petSpinnerAdapter = ArrayAdapter.createFromResource(this, R.array.sample_array, android.R.layout.simple_spinner_item); petSpinner.setAdapter(petSpinnerAdapter); petSpinner.setOnItemSelectedListener(this);