全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android  Spinner列表选择框的应用

Android  Spinner列表选择框的应用

Spinner 是 Android 的列表选择框,不过 spinner 并不需要显示下拉列表,而是相当于弹出一个菜单供用户选择。

Spinner 属性:

● android:spinnerMode:列表显示的模式,有两个选择,为弹出列表(dialog)以及下拉列表(dropdown),如果不特别设置,为下拉列表。
● android:entries:使用<string-array.../>资源配置数据源。
● android:prompt:对当前下拉列表设置标题,仅在dialog模式下有效。传递一个“@string/name”资源,需要在需要在资源文件中定义<string.../>。

Spinner 常用事件:

● AdapterView.OnItemCLickListener:列表项被点击时触发。
● AdapterView.OnItemLongClickListener:列表项被长按时触发。
● AdapterView.OnItemSelectedListener:列表项被选择时触发。

Spinner 数据绑定:

● 使用xml设置数组资源,简单方便但是不灵活,如果只是显示固定的简单数据可以使用。
● 使用 adapter 接口设置,最常见的方式,动态加载灵活,可以设置各种样式和数据来源。

XML 文件结构(一般写在string.xml文件中)

<resource>
 <string-array name="arrayname">
  <item>item1</item>
  <item>item2</item>
  <item>item3</item>
 </string-array>
<resource>

对于简单的数据可以使用 ArrayAdapter 来设置适配器,但是对于稍微复杂的数据 ArrayAdapter 就无法满足需求了,这时需要使用 SimpleAdapter 来做适配。

SimpleAdapter 适配器同样基础自 Adapter,他可以映射静态的 XML 格式的布局文件到视图中。可以指定 List<Map<P,T>> 格式数据,list 的数据对应 Spinner 中的每一行,Map 中的数据对应没一条数据 mSpinner = (Spinner)findViewById(R.id.sp_bank);

mSpinner = (Spinner)findViewById(R.id.sp_bank);
banklist = (List<String>) resultMap.get("list");
 
//将可选内容与ArrayAdapter连接起来
adapter = new ArrayAdapter<String>(self, R.layout.simple_spinner_item, banklist);
 
//设置下拉列表的风格
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
 
//将adapter 添加到spinner中
mSpinner.setAdapter(adapter);
 
//添加事件Spinner事件监听
mSpinner.setOnItemSelectedListener(new SpinnerSelectedListener());
class SpinnerSelectedListener implements OnItemSelectedListener {
 public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
  String str = parent.getItemAtPosition(position).toString();
  //Toast.makeText(self, "你点击的是:"+str, 2000).show();
  bankname = str;
 }
 public void onNothingSelected(AdapterView<?> arg0) {
 }
}

Spinner 弹出列表事件上是 listview,所以 listview 的各种方法都可以用在 Spinner 弹出窗口这里,当时也可以自定义数据源,自定义 Adapter 继承 BaseAdapter 实现更为灵活更为复杂的效果。

Spinner 在初始化时会自动调用一次 OnItemSelectedListener 事件,这是因为系统会自动加载默认值造成的。

解决方法:手动添加默认值,这里需要主要调用顺序,必须在注册方法之前调用。

//在事件注册之前调用,一般指定第0个为默认值
spinner.setSelection(0, true);

以上就是对Android Spinner的实例详解,如有疑问,请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android  # Spinner  # Spinner的详解  # Spinner方法  # Android编程实现变化的双重选择框功能示例  # Android 列表选择框 Spinner详解及实例  # Android列表选择框Spinner使用方法详解  # Android组件实现列表选择框功能  # Android BSearchEdit 搜索结果选择框的实例代码  # 弹出  # 默认值  # 自定义  # 可以使用  # 的是  # 如有  # 希望能  # 资源配置  # 可选  # 来做  # 谢谢大家  # 这是因为  # 用在  # 写在  # 解决方法  # 绑定  # 最常见  # 弹出窗口  # 加载  # 有两个 


相关文章: 焦点电影公司作品,电影焦点结局是什么?  无锡营销型网站制作公司,无锡网选车牌流程?  建站之星微信建站一键生成小程序+多端营销系统  活动邀请函制作网站有哪些,活动邀请函文案?  平台云上自助建站如何快速打造专业网站?  如何优化Golang Web性能_Golang HTTP服务器性能提升方法  如何零成本快速生成个人自助网站?  建站之星如何修改网站生成路径?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  导航网站建站方案与优化指南:一站式高效搭建技巧解析  已有域名和空间,如何快速搭建网站?  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  php json中文编码为null的解决办法  如何规划企业建站流程的关键步骤?  宝塔新建站点报错如何解决?  如何快速搭建高效服务器建站系统?  Swift中swift中的switch 语句  香港服务器网站卡顿?如何解决网络延迟与负载问题?  建站主机默认首页配置指南:核心功能与访问路径优化  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  如何打造高效商业网站?建站目的决定转化率  建站之星代理商如何保障技术支持与售后服务?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  建站之星好吗?新手能否轻松上手建站?  如何用低价快速搭建高质量网站?  高性价比服务器租赁——企业级配置与24小时运维服务  建站主机类型有哪些?如何正确选型  如何在IIS中新建站点并配置端口与物理路径?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  建站上传速度慢?如何优化加速网站加载效率?  建站之星代理费用多少?最新价格详情介绍  开源网站制作软件,开源网站什么意思?  c# 在ASP.NET Core中管理和取消后台任务  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何通过VPS建站无需域名直接访问?  c# 在高并发场景下,委托和接口调用的性能对比  南平网站制作公司,2025年南平市事业单位报名时间?  外贸公司网站制作哪家好,maersk船公司官网?  中山网站制作网页,中山新生登记系统登记流程?  如何快速打造个性化非模板自助建站?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?  如何在云主机快速搭建网站站点?  股票网站制作软件,网上股票怎么开户?  建站主机解析:虚拟主机配置与服务器选择指南  Android自定义控件实现温度旋转按钮效果  Thinkphp 中 distinct 的用法解析 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。