はじめに
spinnerの初期値項目を設定するときにsetSelectionを使いますが、この引数は(position: Int)となっていて
ちょっとめんどくさいと思いました。
setTextみたいに入れて自動的にリストにある同名の項目を初期値設定にしたい方におすすめです。
javaでの方法があったので、kotlinにしてあげたものです。
.kt
val spinner: Spinner = findViewById(R.id.spinner)
spinner.setSelection(setSelection(spinner, "文字列"))
private fun setSelection(spinner: Spinner, item: String): Int {
val adapter = spinner.adapter
var index = 0
for (i in 0 ≦ until < adapter.count) {
if (adapter.getItem(i) == item) {
index = i
}
}
return index
}
"文字列"の部分で自動検索し、同名の項目をSpinnerの初期値として表示します。
試してみてください!