多个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

相关文章

Java编译生成多个.class文件的原理和作用

《Java编译生成多个.class文件的原理和作用》作为一名经验丰富的开发者,在Java项目中执行编译后,可能会发现一个.java源文件有时会产生多个.class文件,从技术实现层面详细剖析这一现象... 目录一、内部类机制与.class文件生成成员内部类(常规内部类)局部内部类(方法内部类)匿名内部类二、

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python实现合并与拆分多个PDF文档中的指定页

《Python实现合并与拆分多个PDF文档中的指定页》这篇文章主要为大家详细介绍了如何使用Python实现将多个PDF文档中的指定页合并生成新的PDF以及拆分PDF,感兴趣的小伙伴可以参考一下... 安装所需要的库pip install PyPDF2 -i https://pypi.tuna.tsingh

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn

spring @EventListener 事件与监听的示例详解

《spring@EventListener事件与监听的示例详解》本文介绍了自定义Spring事件和监听器的方法,包括如何发布事件、监听事件以及如何处理异步事件,通过示例代码和日志,展示了事件的顺序... 目录1、自定义Application Event2、自定义监听3、测试4、源代码5、其他5.1 顺序执行

C++实现回文串判断的两种高效方法

《C++实现回文串判断的两种高效方法》文章介绍了两种判断回文串的方法:解法一通过创建新字符串来处理,解法二在原字符串上直接筛选判断,两种方法都使用了双指针法,文中通过代码示例讲解的非常详细,需要的朋友... 目录一、问题描述示例二、解法一:将字母数字连接到新的 string思路代码实现代码解释复杂度分析三、

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下多