Android Spinner:获取所选项目更改事件

2024-02-27

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

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

spinner1.onSelectionChange = handleSelectionChange;

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

之前的一些答案并不正确。它们适用于其他小部件和视图,但文档微调器小部件 http://developer.android.com/reference/android/widget/Spinner.html#setOnItemClickListener%28android.widget.AdapterView.OnItemClickListener%29明确指出:

微调器不支持项目点击 事件。调用这个方法会引发 一个例外。

更好的利用OnItemSelectedListener() http://developer.android.com/reference/android/widget/AdapterView.OnItemSelectedListener.html反而:

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
    }

});

这对我有用。

请注意,在构建视图时也会调用 onItemSelected 方法,因此您可以考虑将其放入其中onCreate()方法调用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android Spinner:获取所选项目更改事件 的相关文章

  • android中向sqlite中插入大量数据

    目前 我必须一次向我的 Android 中插入超过 100 亿条数据 然而 内存不足的问题会使程序崩溃 sqlite 插入测试非常简单 只需使用 for 循环生成 sql 插入命令并通过 开始 和 提交 进行包装 private Array
  • 无法获取log.d或输出Robolectrict + gradle

    有没有人能够将 System out 或 Log d 跟踪从 robolectric 测试输出到 gradle 控制台 我在用Robolectric Gradle 测试插件 https github com robolectric robo
  • 谷歌坐标认证

    当我尝试连接到 Google 坐标时 总是出现异常GoogleAuthException 我拥有 Google 地图协调中心许可证 我确实使用我的包应用程序名称和 SHA1 在 google 控制台中创建了我的客户端 ID 我将权限添加到清
  • java.lang.NoClassDefFoundError:org.apache.batik.dom.svg.SVGDOMImplementation

    我在链接到我的 Android LibGDX 项目的 Apache Batik 库时遇到了奇怪的问题 但让我们从头开始 在 IntelliJ Idea 中我有一个项目 其中包含三个模块 Main Android 和 Desktop 我强调的
  • android xamarin 中的 reCaptcha

    我想在 Xamarin android 应用程序中实现验证码 我抓住了这个在 Android 中集成 googles reCaptcha 验证 https www c sharpcorner com article how to integ
  • Android 中 Kotlin 协程的正确使用方式

    我正在尝试使用异步更新适配器内的列表 我可以看到有太多的样板 这是使用 Kotlin 协程的正确方法吗 这个可以进一步优化吗 fun loadListOfMediaInAsync async CommonPool try Long runn
  • 是否必须删除 Intent extra?

    这可能是一个愚蠢的问题 但是是否有一条规则规定消费活动必须显式删除 Intent 额外内容 或者只有在回收 Intent 对象时才如此 换句话说 如果我总是通过执行以下操作来链接到下一个活动 Intent i new Intent MyCu
  • 使用 Android 发送 HTTP Post 请求

    我一直在尝试从 SO 和其他网站上的大量示例中学习 但我无法弄清楚为什么我编写的示例不起作用 我正在构建一个小型概念验证应用程序 它可以识别语音并将其 文本 作为 POST 请求发送到 node js 服务器 我已确认语音识别有效 并且服务
  • 尝试将相机切换回前面但出现异常

    尝试将相机切换回前面 但出现异常 找不到 问题请检查并帮助 error 01 27 11 49 00 376 E AndroidRuntime 30767 java lang RuntimeException Unable to start
  • 如何在PreferenceActivity中添加工具栏

    我已经使用首选项创建了应用程序设置 但我注意到 我的 PreferenceActivity 中没有工具栏 如何将工具栏添加到我的 PreferenceActivity 中 My code 我的 pref xml
  • Ubuntu 16.04 - Genymotion:找不到 /dev/hw_random

    I install Genymotion on the Ubuntu 16 04 64Bit I created a virtual emulator for Android 6 0 then I run this emulator but
  • 如何发布Android .aar源以使Android Studio自动找到它们?

    我正在将库发布到内部 Sonatype Nexus 存储库 Android Studio 有一个功能 可以自动查找通过 gradle 引用的库的正确源 我将 aar 的源代码作为单独的 jar 发布到 Nexus 但 Android Stu
  • 如何使用InputConnectionWrapper?

    我有一个EditText 现在我想获取用户对此所做的所有更改EditText并在手动将它们插入之前使用它们EditText 我不希望用户直接更改中的文本EditText 这只能由我的代码完成 例如通过使用replace or setText
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • Android Studio - Windows 7 上的 Android SDK 问题

    我对 Google i o 2013 上发布的最新开发工具 Android Studio 有疑问 我已经成功安装了该程序并且能够正常启动 我可以导入现有项目并对其进行编辑 但是 当我尝试单击 SDK 管理器图标或 AVD 管理器图标时 或者
  • 增加活动的屏幕亮度

    显然 Android 操作系统中至少有三种不同的技术可以改变屏幕亮度 其中两个在纸杯蛋糕之后不再起作用 而第三个被接受的技术显然有一个错误 我想在单视图活动开始时增加屏幕亮度 然后在活动结束时将亮度恢复为用户设置 没有按钮 没有第二个视图或
  • 实现滚动选择 ListView 中的项目

    我想使用 ListView 您可以在其中滚动列表来选择一个项目 它应该像一个 Seekbar 但拇指应该是固定的 并且您必须使用该栏来调整它 我面临的一个问题是 我不知道这种小部件是如何调用的 这使得我很难搜索 所以我制作了下面这张图片 以
  • android sdk 的位置尚未在 Windows 操作系统的首选项中设置

    在 Eclipse 上 我转到 windows gt Android SDK 和 AVD Manager 然后弹出此消息 Android sdk 的位置尚未在首选项中设置 进入首选项 在侧边栏找到 Android 然后会出现一个 SDK 位
  • 按日期对 RecyclerView 进行排序

    我正在尝试按日期对 RecyclerView 进行排序 但我尝试了太多的事情 我不知道现在该尝试什么 问题就出在这条线上适配器 notifyDataSetChanged 因为如果我不放 不会显示错误 但也不会更新 recyclerview
  • 强制 Listview 不重复使用视图(复选框)

    我做了一个定制Listview 没有覆盖getView 方法 Listview 中的每个项目都具有以下布局 联系布局 xml

随机推荐

  • 在 Rust 中,将 &str 拆分为每个包含一个字符的 &str 迭代器的惯用方法是什么?

    如果我想采取 str like aeiou 并将其变成一个迭代器 大致相当于 a e i o u iter 最惯用的方法是什么 我试过做 aeiou split 这对我来说似乎是惯用的 但我很空虚 strs 位于开头和结尾 我试过做 aei
  • 使用perl修改xml标签的属性值

    我有一个很长的 xml 我希望更新其中一个嵌套非常深的标签的属性值 因此不想逐个节点进行操作 此外 目标节点的结构始终不相同 如下所示 输入 XML 为
  • 创建 PHP 登录页面的最佳方法是什么?

    我对 PHP 相当陌生 正在寻找一些有关如何在 PHP 中实现身份验证的最佳实践 我是 Adob e 的传播者 令我烦恼的一件事是人们使用 Flex Flash 作为登录屏幕 因此 我想写一篇博客文章 示例 介绍如何使用 HTML PHP
  • Material Design 的 Side-Menu.Android 中的活动意图

    in https github com Yalantis Side Menu Android https github com Yalantis Side Menu Android 请帮我 当我单击侧面菜单中的每个项目时 如何转到命令 意图
  • Laravel getQueryLog 显示行查询已执行

    正如标题所说 我想知道是否有办法获得getQueryLog函数显示查询行 var dump DB getQueryLog 你不能这样做getQueryLog 但您可以监听查询 生成回溯并最终提取行号 routes php Event lis
  • 如何从点文件中提取子图

    我有一个由名为egypt的软件生成的点文件 点文件包含许多节点和边 如果我用这个点文件画图 由于节点太多 很难看清图片 而我需要的只是从一个节点开始的子图 不需要全图 有没有办法使用这个点文件从指定节点 例如start node 绘制子图
  • 避免注册表 Wow6432Node 重定向

    我尝试在 c 中使用 Microsoft Win32 RegistryKey 插入一些简单的注册表项 但路径会自动更改为 HKEY LOCAL MACHINE SOFTWARE Test to HKEY LOCAL MACHINE SOFT
  • 通过排列两个变量添加计数器列(dplyr)

    我到处寻找了一段时间 但找不到适合我情况的任何解决方案 我有一个数据框 其中混合有 ID 和 VAR 下面我尝试复制一个示例 require dplyr seed 123 N lt 3 T lt 4 id lt rep letters 1
  • 根据控制器操作切换 Devise 身份验证模块

    我有一个 Rails 站点 使用Devise https github com plataformatec devise用于身份验证 我有一页 PhotosController create 需要在没有 cookie 的情况下对用户进行身份
  • 将 CMake 项目导入 Eclipse CDT

    我有一个土生土长的CMake http en wikipedia org wiki CMake项目 我想使用Eclipse http en wikipedia org wiki Eclipse 28software 29IDE 使用它 通过
  • Codeigniter - 使用多个数据库

    数据库 php db default hostname 192 168 2 104 db default username webuser db default password db default database vad db def
  • 如何在运行时更改 slf4j 级别?

    我使用 SLF4j 作为我的日志框架 由 log4j 支持 我的问题是我正在寻找一种在运行时更改记录器的日志记录级别的方法 据我了解 slf4j 不允许直接通过其自己的 API 执行此操作 因此 我必须直接访问日志记录提供程序 我个人认为这
  • 当 AppBar 下没有滚动内容时如何禁用 AppBar 阴影

    在 app bar dart 文件中提到海拔控制应用栏下方阴影的大小 默认情况下 如果应用栏下方没有滚动内容 则不会绘制阴影 这是我的代码 Scaffold appBar AppBar brightness Brightness light
  • jTemplates:变量中的 html

    我想在 jTemplate 变量中包含一些 html 例如 td class numeric T total price td 其中总价格是 12 span 00 span 有什么方法可以让 span 显示为 html 吗 我得到它 mhi
  • C++ 中的对象序列化

    我想序列化 反序列化一些结构化数据 以便通过网络将其发送char buffer 更准确地说 假设我有一条消息类型struct Message struct Message Header header Address address size
  • 删除月份中某天的前导“0” SimpleDateFormat

    2012年1月4日的 0 可以去掉吗 我目前正在使用以下 Java 来获取日期格式 例如 Monday January 04 2012 我希望它看起来像 Monday January 4 2012 Date anotherCurDate n
  • 使用 cython 简单包装 C 代码

    我有许多 C 函数 我想从 python 调用它们 cython 似乎是可行的方法 但我无法真正找到具体如何完成此操作的示例 我的 C 函数如下所示 void calculate daily char db name int grid id
  • 如何在NodeJS中获取UTC日期对象? [复制]

    这个问题在这里已经有答案了 我想获取 UTC 中的当前日期对象 我尝试使用new Date Date now 等等 但他们返回当地时间 如何获取 UTC 日期对象 我想要 Date 对象 而不是字符串表示形式 只需使用new Date ne
  • Jetpack Compose dev06 setContent() 不起作用?

    更新到 dev06 并运行应用程序时 出现以下错误 java lang NoSuchMethodError No static method setContent Landroid app Activity Lkotlin jvm func
  • Android Spinner:获取所选项目更改事件

    当所选项目发生更改时 如何设置 Spinner 的事件侦听器 基本上我想做的事情与此类似 spinner1 onSelectionChange handleSelectionChange void handleSelectionChange