当所选项目发生更改时,如何为微调器设置事件侦听器?

基本上我想做的是类似的事情:

spinner1.onSelectionChange = handleSelectionChange;

void handleSelectionChange(Object sender){
    //handle event
}

推荐答案

前面的一些答案是不正确的.它们适用于其他小部件和视图,但这Spinner widget个组件的文档清楚地说明:

微调器不支持项目单击

最好使用OnItemSelectedListener():

spinner.setOnItemSelectedListener(new OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parentView, View selectedItemView, int position, long id) {
        // your code here
    }

    @Override
    public void onNothingSelected(AdapterView<?> parentView) {
        // your code here
    }

});

这对我有用.

注意,当正在构建视图时也调用OnItMeMead方法,因此可以考虑将其放入onCreate()方法调用中.

Android相关问答推荐

在Android的Whatsapp中共享多个图片和文本

fillMaxHeight中的分数在列内不起作用(android jetpack compose)

即使安装了Chrome和YouTube,Android对action_view a YouTube URL的意图也是空的

NativeScript在`ns run android`上重复Kotlin类

StateFlow和LazyColumn重组

使用RecycleView和Diffutils时从列表中删除项目时出现问题

Android从已连接的设备获得GATT

插入视图模型时,dagger 未命中绑定错误

如何判断堆肥是否为空?

参数化类RecyclerView.Adapter的原始使用

当 Firebase Firestore 发生变化时,Kotlin ViewModel 不会更新

Jetpack Compose with Paging 3 发出太多网络请求

根据另一个数组的值对数组进行排序

以下代码如何在 Android 上运行

如何在 Jetpack Compose 中创建无限pager

了解 Compose 声明性逻辑

Jetpack compose 为网络检索视频帧导致延迟

为 AlertDialog 的消息文本设置自定义字体

当我更改 ViewModel var 时,Kotlin + Compose 中的 Composable 不会更新

如何将 Android Studio 与模拟器连接起来