全网整合营销服务商

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

免费咨询热线: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 搜索结果选择框的实例代码  # 弹出  # 默认值  # 自定义  # 可以使用  # 的是  # 如有  # 希望能  # 资源配置  # 可选  # 来做  # 谢谢大家  # 这是因为  # 用在  # 写在  # 解决方法  # 绑定  # 最常见  # 弹出窗口  # 加载  # 有两个 


相关文章: 如何在香港服务器上快速搭建免备案网站?  如何通过二级域名建站提升品牌影响力?  百度网页制作网站有哪些,谁能告诉我百度网站是怎么联系?  手机网站制作与建设方案,手机网站如何建设?  网站网页制作专业公司,怎样制作自己的网页?  已有域名和空间如何快速搭建网站?  如何通过商城自助建站源码实现零基础高效建站?  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  如何用西部建站助手快速创建专业网站?  网站制作大概要多少钱一个,做一个平台网站大概多少钱?  如何基于PHP生成高效IDC网络公司建站源码?  C++中引用和指针有什么区别?(代码说明)  h5网站制作工具有哪些,h5页面制作工具有哪些?  ,柠檬视频怎样兑换vip?  单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?  建站之家VIP精选网站模板与SEO优化教程整合指南  ,购物网站怎么盈利呢?  定制建站是什么?如何实现个性化需求?  简单实现Android文件上传  nginx修改上传文件大小限制的方法  如何在IIS中新建站点并解决端口绑定冲突?  如何安全更换建站之星模板并保留数据?  建站为何优先选择香港服务器?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  已有域名能否直接搭建网站?  建站主机选择指南:服务器配置与SEO优化实战技巧  如何快速生成凡客建站的专业级图册?  如何选择高效便捷的WAP商城建站系统?  如何快速建站并高效导出源代码?  如何通过西部建站助手安装IIS服务器?  武汉外贸网站制作公司,现在武汉外贸前景怎么样啊?  建站DNS解析失败?如何正确配置域名服务器?  北京专业网站制作设计师招聘,北京白云观官方网站?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  如何确认建站备案号应放置的具体位置?  定制建站策划方案_专业建站与网站建设方案一站式指南  如何自定义建站之星网站的导航菜单样式?  如何用腾讯建站主机快速创建免费网站?  小型网站建站如何选择虚拟主机?  家具网站制作软件,家具厂怎么跑业务?  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  如何选购建站域名与空间?自助平台全解析  宝塔新建站点为何无法访问?如何排查?  jQuery 常见小例汇总  c# await 一个已经完成的Task会发生什么  建站之星如何优化SEO以实现高效排名?  微信小程序 input输入框控件详解及实例(多种示例)  建站之星代理如何优化在线客服效率?  如何在阿里云虚拟服务器快速搭建网站?  公司网站制作需要多少钱,找人做公司网站需要多少钱? 

您的项目需求

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