Spinner有哪些 常用方法 ?怎么用kotlin代码 获取Spinner当前选 中的item
时间: 2024-09-25 07:16:39 浏览: 44
实现android Spinner选择后被选中的item有个背景的功能
`Spinner`在Android中是一种用于下拉选择的控件,它通常包含一组预设选项供用户选择。以下是一些常用的方法:
1. `setAdapter()`:设置`Adapter`来填充spinner的选择项。例如,你可以使用ArrayAdapter或CursorAdapter来绑定数据。
```kotlin
val adapter = ArrayAdapter(context, layoutResourceId, itemsList)
spinner.adapter = adapter
```
2. `ItemSelectedListener`: 设置监听器来获取用户选择的事件,当有新选项被选中时会触发回调。
```kotlin
spinner.setOnItemSelectedListener { _, item ->
val selectedItem = item as? AdapterViewItemSelectedListener
if (selectedItem != null) {
val selectedItemText = selectedItem?.text.toString()
// 使用selectedItemText获取当前选中的item文本
}
}
```
3. `getItemAtPosition(position)`:通过索引来获取当前选中的项,但是这个方法在API级别21及以后已不再推荐使用,因为它依赖于底层的数据源实现。
4. `getSelectedItem()`:返回选中的`View`,如果你需要获取其内容,可以进一步处理。
5. `notifyDataSetChanged()`:当adapter数据变化时调用此方法更新view。
使用Kotlin时,确保你在合适的上下文中操作 spinner,并在适当时设置好数据和监听器。例如,在初始化时设置数据:
```kotlin
val context = this // 或者其他上下文
val itemsList = arrayOf("Option 1", "Option 2", "Option 3") // 你的选项列表
val spinner = findViewById<Spinner>(R.id.spinner)
val adapter = ArrayAdapter(context, android.R.layout.simple_spinner_item, itemsList)
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
spinner.adapter = adapter
```
然后在你需要的时候获取当前选中的item:
```kotlin
val selectedPosition = spinner.selectedItemPosition
val selectedItem = spinner.getItemAtPosition(selectedPosition)
println("Selected item text: ${selectedItem?.toString()}")
```
阅读全文