当前位置: 首页 > news >正文

Android Spinner

1. Spinner

Spinner是下拉列表,如图3-14所示,通常用于为用户提供选择输入。Spinner有一个重要的属性:spinnerMode,它有2种情况:

  1. 属性值为dropdown时,表示Spinner的数据下拉展示,如图1(a)所示.
  2. 属性值为dialog时,表示Spinner的数据为弹窗展示,如图1(b)所示。

spinnerMode的默认值为dropdown,即下拉展示。

图1 Spinner效果图

Spinner展示的数据可以分为静态数据和动态数据2种,静态数据可以以<string-array>元素的形式存放在string.xml,示例代码如下:

<resources><string name="app_name">SpinnerTest</string><string-array name="spinner_list"><item>请选择</item><item>Android</item><item>Java</item><item>Python</item><item>单片机</item><item>嵌入式系统</item></string-array>
</resources>

动态数据可以以List的方式存放,可以来着数据库或网络接口。

不管是静态数据还是动态数据,都需要通过适配器Adapter将数据与Spinner控件适配起来才可以在界面上显示。简言之,适配器Adapter就是数据和控件之间的桥梁纽带。由于Spinner数据一般为字符串数组,因此一般使用ArrayAdapter作为Spinner的适配器。

Spinner还有几个重要的方法,见表1。

表1 Spinner的常用方法

方法名

作用

void setDropDownViewResource(@LayoutRes int resource)

设置下拉列表中选项的显示效果布局

void setAdapter(SpinnerAdapter adapter)

设置Spinner的数据适配器

void setSelection(int position)

设置被选中item的postion

void setOnItemSelectedListener(OnItemSelectedListener listener)

设置被选中后的监听事件

Object getSelectedItem()

获取被选中的item

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 数据结构和算法(0-1)----递归
  • ArduPilot开源代码之OpticalFlow_backend
  • arm64架构下源码编译安装kafka —— 筑梦之路
  • 【C++】———— 继承
  • 【Linux网络】IO模型{再识 IO/IO模型/阻塞IO vs 非阻塞IO/同步IO vs 异步IO}
  • LangChain内置函数全解析:深入探索与高效应用
  • iPhone 16 Pro系列将标配潜望镜头:已开始生产,支持5倍变焦
  • druid(德鲁伊)数据线程池连接MySQL数据库
  • 【ElasticSearch】ES 5.6.15 向量插件支持
  • 软件供应链安全:如何防范潜在的攻击?
  • 机器学习筑基篇,Jupyter Notebook 精简指南
  • Docker搭建kafka+zookeeper以及Springboot集成kafka快速入门
  • 暑假自律日记十二
  • 同步与异步:.NET 中的 Task.WaitAll 和 Task.WhenAll
  • SpringMVC框架--个人笔记步骤总结
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • Angular Elements 及其运作原理
  • css布局,左右固定中间自适应实现
  • JS专题之继承
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • mongo索引构建
  • OSS Web直传 (文件图片)
  • php中curl和soap方式请求服务超时问题
  • PV统计优化设计
  • 基于 Babel 的 npm 包最小化设置
  • 爬虫模拟登陆 SegmentFault
  • 使用 5W1H 写出高可读的 Git Commit Message
  • 我的zsh配置, 2019最新方案
  • 译自由幺半群
  • Spring第一个helloWorld
  • 说说我为什么看好Spring Cloud Alibaba
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • ​DB-Engines 11月数据库排名:PostgreSQL坐稳同期涨幅榜冠军宝座
  • ## 基础知识
  • (2)nginx 安装、启停
  • (java)关于Thread的挂起和恢复
  • (Repost) Getting Genode with TrustZone on the i.MX
  • (vue)el-cascader级联选择器按勾选的顺序传值,摆脱层级约束
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • (附源码)计算机毕业设计SSM基于java的云顶博客系统
  • (六)软件测试分工
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (贪心 + 双指针) LeetCode 455. 分发饼干
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .mysql secret在哪_MySQL如何使用索引
  • .NET Core 通过 Ef Core 操作 Mysql
  • .Net Memory Profiler的使用举例
  • .Net OpenCVSharp生成灰度图和二值图
  • .net 简单实现MD5
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • @AliasFor注解
  • @kafkalistener消费不到消息_消息队列对战之RabbitMq 大战 kafka
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [20180312]进程管理其中的SQL Server进程占用内存远远大于SQL server内部统计出来的内存...