📜  spinner selected item listener android kotlin (1)

📅  最后修改于: 2023-12-03 14:47:31.980000             🧑  作者: Mango

Spinner 选中项监听器

在 Android 的 Kotlin 语言中,Spinner 为常用的用户界面元素之一,其可以让用户从预定义的列表中选择一个项。当用户选择一个项时,可以通过 Spinner 的选中项监听器获取到所选项的值,并根据用户的选择执行相应的操作。本文将介绍如何在 Android 应用程序中使用 Spinner 选中项监听器。

准备工作

首先,我们需要在 app/build.gradle 文件中添加对 Spinner 控件的依赖:

    dependencies {
        implementation 'com.android.support:appcompat-v7:28.0.0'
    }

然后,在要使用 Spinner 控件的布局 xml 文件中添加以下代码:

    <Spinner
        android:id="@+id/mySpinner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"/>

这里,我们创建了一个 id 为 mySpinner 的 Spinner 控件,其宽度为 match_parent,高度为 wrap_content。

实现 Spinner 选中项监听器

为了在 Android 应用程序中使用 Spinner 的选中项监听器,我们可以使用 AdapterView.OnItemSelectedListener 接口,它定义了以下两个抽象方法:

abstract fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long): Unit

abstract fun onNothingSelected(parent: AdapterView<*>?): Unit

其中,onItemSelected() 方法在 Spinner 中选择了一个项时被调用,onNothingSelected() 方法在 Spinner 中没有选择任何项时被调用。

下面是一个实现 Spinner 选中项监听器的示例:

    // 获取 Spinner 控件
    val spinner = findViewById<Spinner>(R.id.mySpinner)

    // 创建一个字符串列表作为 Spinner 的选项列表
    val options = listOf("Option 1", "Option 2", "Option 3")

    // 创建一个适配器将选项列表连结到 Spinner 控件中
    val adapter = ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, options)

    // 将适配器连接到 Spinner 控件中
    spinner.adapter = adapter

    // 创建一个 OnItemSelectedListener,监听 Spinner 的选中项事件
    spinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
        override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
            // 获取选择的选项
            val selectedItem = parent?.selectedItem as String
            // 在 Logcat 中打印选项的值
            Log.d("SpinnerListener", "Selected item is: $selectedItem")
        }

        override fun onNothingSelected(parent: AdapterView<*>?) {
            // 在 Logcat 中打印通知消息
            Log.d("SpinnerListener", "No item was selected")
        }
    }

在代码中,我们首先获取了 id 为 mySpinner 的 Spinner 控件,然后创建了一个字符串列表 options,作为 Spinner 控件的选项列表。接着,我们创建了一个适配器 adapter,将选项列表 options 连接到 Spinner 控件中,最后将适配器 adapter 设置为 Spinner 控件的 adapter 属性。

最重要的是,我们创建了一个 OnItemSelectedListener 监听器,监听 Spinner 控件的选中项事件。在 onItemSelected() 方法中,我们获取用户选择的选项,并将其值打印到 Logcat 中。在 onNothingSelected() 方法中,我们只是打印了一个通知消息。

至此,我们就可以成功地在 Android 应用程序中使用 Spinner 选中项监听器了。