【Android】Spinnerの使い方

Spinnerを使用することで、プルダウンまたはダイアログでアイテムを複数表示することができます。

アイテムの取得方法も2通りあったので、それも含め以下に書きます。

レイアウトの作成


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

プルダウン表示の場合はdialog、プルダウン表示の場合はdropdownandroid:spinnerModeに指定します

アイテムの設定


表示するアイテムを設定するにはAdapterを作成し、Supinnerにセットします。

// Adapterの作成
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Adapterにアイテムを追加
adapter.add("red");
adapter.add("green");
adapter.add("blue");
Spinner spinner = (Spinner) findViewById(id.spinner);
    
// SpinnerにAdapterを設定
spinner.setAdapter(adapter);

選択したアイテムの取得方法1


spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        Spinner spinner = (Spinner) parent;
        // 選択したアイテムを取得
        String item = (String) spinner.getSelectedItem();

        // ログで確認
        Log.v("spinner item", item);
    }
    @Override
    public void onNothingSelected(AdapterView<?> arg0) {// アイテムを選択しなかったとき
    }
});

選択したアイテムの取得方法2


// レイアウトからSpinnerを取得
Spinner item = (Spinner) findViewById(R.id.spinner);
// 選択したアイテムを取得
String selected = (String) item.getSelectedItem();

参考サイト:

スピナー(Spinner)を使用するには - 逆引きAndroid入門

Androidプログラミングメモ Spinner - arcanum_jpの日記

Android Spinnerで、選択された順番を取得する -でじうぃき

文字列から数値、数値から文字列へ変換するには - 逆引きAndroid入門