多个Spinner同时监听,判断是哪个Spinner做了回调

2024-02-03 15:32

本文主要是介绍多个Spinner同时监听,判断是哪个Spinner做了回调,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

首先有3个spinner控件,分别是性别、民族、学历 

为其添加适配器和数据源

//性别spinner和适配器
String[] sex = getResources().getStringArray(R.array.sexs);
ArrayAdapter<String> adapterSex = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,sex);
spActivityModifyPersonalSex.setAdapter(adapterSex);
spActivityModifyPersonalSex.setOnItemSelectedListener(this);
//民族spinner和适配器
String[] nation = getResources().getStringArray(R.array.nations);
ArrayAdapter<String> adapterNation = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,nation);
spActivityModifyPersonalNation.setAdapter(adapterNation);
spActivityModifyPersonalNation.setOnItemSelectedListener(this);
//学历spinner和适配器
String[] educations = getResources().getStringArray(R.array.educations);
ArrayAdapter<String> adapterEducation = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,educations);
spActivityModifyPersonalEducations.setAdapter(adapterEducation);
spActivityModifyPersonalEducations.setOnItemSelectedListener(this);


接口回调中根据parent.getID();来判断是哪个Spinner控件的接口回调


@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {Logger.t("activityModifyPersonal").d("id   "+id);
    Logger.t("activityModifyPersonal").d("view.getId()   "+view.getId());
    Logger.t("activityModifyPersonal").d("parent.getId()   "+parent.getId());
    Logger.t("activityModifyPersonal").d("R.id.sp_activity_modify_personal_sex  "+R.id.sp_activity_modify_personal_sex);
    Logger.t("activityModifyPersonal").d("R.id.sp_activity_modify_personal_Nation   "+R.id.sp_activity_modify_personal_Nation);
    Logger.t("activityModifyPersonal").d("R.id.sp_activity_modify_personal_educations   "+R.id.sp_activity_modify_personal_educations);

    switch (parent.getId()){case R.id.sp_activity_modify_personal_sex://性别
            sex = (String) parent.getSelectedItem();
            Logger.t("activityModifyPersonal").d("select性别"+sex);
            break;
        case R.id.sp_activity_modify_personal_Nation://民族
            nation = (String) parent.getSelectedItem();
            Logger.t("activityModifyPersonal").d("select民族"+nation);
            break;
        case R.id.sp_activity_modify_personal_educations://教育
            education = (String) parent.getSelectedItem();
            Logger.t("activityModifyPersonal").d("select教育"+education);
            break;
    }
}@Override
public void onNothingSelected(AdapterView<?> parent) {}

这篇关于多个Spinner同时监听,判断是哪个Spinner做了回调的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/674593

相关文章

Python自动化办公之合并多个Excel

《Python自动化办公之合并多个Excel》在日常的办公自动化工作中,尤其是处理大量数据时,合并多个Excel表格是一个常见且繁琐的任务,下面小编就来为大家介绍一下如何使用Python轻松实现合... 目录为什么选择 python 自动化目标使用 Python 合并多个 Excel 文件安装所需库示例代码

Java实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例

Python判断for循环最后一次的6种方法

《Python判断for循环最后一次的6种方法》在Python中,通常我们不会直接判断for循环是否正在执行最后一次迭代,因为Python的for循环是基于可迭代对象的,它不知道也不关心迭代的内部状态... 目录1.使用enuhttp://www.chinasem.cnmerate()和len()来判断for

使用SQL语言查询多个Excel表格的操作方法

《使用SQL语言查询多个Excel表格的操作方法》本文介绍了如何使用SQL语言查询多个Excel表格,通过将所有Excel表格放入一个.xlsx文件中,并使用pandas和pandasql库进行读取和... 目录如何用SQL语言查询多个Excel表格如何使用sql查询excel内容1. 简介2. 实现思路3

如何测试计算机的内存是否存在问题? 判断电脑内存故障的多种方法

《如何测试计算机的内存是否存在问题?判断电脑内存故障的多种方法》内存是电脑中非常重要的组件之一,如果内存出现故障,可能会导致电脑出现各种问题,如蓝屏、死机、程序崩溃等,如何判断内存是否出现故障呢?下... 如果你的电脑是崩溃、冻结还是不稳定,那么它的内存可能有问题。要进行检查,你可以使用Windows 11

SpringBoot整合Canal+RabbitMQ监听数据变更详解

《SpringBoot整合Canal+RabbitMQ监听数据变更详解》在现代分布式系统中,实时获取数据库的变更信息是一个常见的需求,本文将介绍SpringBoot如何通过整合Canal和Rabbit... 目录需求步骤环境搭建整合SpringBoot与Canal实现客户端Canal整合RabbitMQSp

vue如何监听对象或者数组某个属性的变化详解

《vue如何监听对象或者数组某个属性的变化详解》这篇文章主要给大家介绍了关于vue如何监听对象或者数组某个属性的变化,在Vue.js中可以通过watch监听属性变化并动态修改其他属性的值,watch通... 目录前言用watch监听深度监听使用计算属性watch和计算属性的区别在vue 3中使用watchE