やりたいこと
テキストだけの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>