【Spinner】テキストだけのSpinnerを表示させる

やりたいこと

テキストだけのSpinnerを表示させたい。

手順

spinnerに複数のテキストが入ったArrayAdapterをセットすればOK。

simpleSpinner.adapter = ArrayAdapter<String>(this, android.R.layout.simple_spinner_item).apply { add("AAAAA") add("BBBBB") add("CCCCC") add("DDDDD") add("EEEEE")
}

android.R.layout.simple_spinner_dropdown_itemを使うと余白のあるSpinnerが表示できますよ。

simpleDropdownSpinner.adapter = ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item).apply { add("あいうえお") add("かきくけこ") add("さしすせそ") add("たちつてと") add("なにぬねの")
}
MEMO

セットできるAdapterはSpinnerAdapterを実装しているAdapterです。

ソースコード

SpinnerActivity.kt

class SpinnerActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_spinner) simpleSpinner.adapter = ArrayAdapter<String>(this, android.R.layout.simple_spinner_item).apply { add("AAAAA") add("BBBBB") add("CCCCC") add("DDDDD") add("EEEEE") } simpleDropdownSpinner.adapter = ArrayAdapter<String>(this, android.R.layout.simple_spinner_dropdown_item).apply { add("あいうえお") add("かきくけこ") add("さしすせそ") add("たちつてと") add("なにぬねの") } } companion object { fun createIntent(context: Context) = Intent(context, SpinnerActivity::class.java) }
}

activity_spinner.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <android.support.v7.widget.AppCompatSpinner android:id="@+id/simpleSpinner" android:layout_width="match_parent" android:layout_height="wrap_content"/> <android.support.v7.widget.AppCompatSpinner android:id="@+id/simpleDropdownSpinner" android:layout_width="match_parent" android:layout_height="wrap_content"/>
</LinearLayout>