spinner是什么东西呢?有点像下拉菜单,其实是一个弹出窗口,但是是可以进行进一步操作的弹出窗口。你点击那个三角形的符号,弹出一个窗口,通常是列表,然后进行操作。

它在xml文件中的定义和其它控件没什么不一样,

  <Spinner

      android:id="@+id/spinnerId"

      android:layout_width="fill_parent"

      android:layout_height="wrap_content"

  />

  但是,除此之外,对于spinner的定义还有其它步骤,在string.xml文件中声明一个数组,使用string-array来进行声明,里面以item的形式装需要显示的各种字符串。

<string-array name="times">
<item>30 Seconds</item>
<item>1 Minute</item>
<item>5 Minutes</item>
<item>10 Minutes</item>
<item>15 Minutes</item>
<item>30 Minutes</item>
<item>60 Minutes</item>
</string-array>

这样就可以了,然后开始在主程序中开始写代码。

首先,跟所有带有id的控件一样,先在主程序中通过findViewById关联一下spinner,然后就是设置ArrayAdapter,最简便的方法就是直接利用android官方提供的布局文件来设置条目的样式,官方是一个文字加上一个radiobutton

 ArrayAdapter<CharSequence>adapter = ArrayAdapter.createFromResource(this,R.array.times,android.R.layout.simple_spinner_item);

还要设置的就是下拉菜单的样式,就是点出来以后的列表的样式,也是使用官方提供的布局文件

 adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

设置好了以后就将这个adapter绑定在spinner上面,同时为spinner设置标题(通过setPrompt方法)。

 spinner.setAdapter(adapter);
spinner.setPrompt("标题名称");

这些都设置好以后就可以正确显示了,但是我们在实际的程序中需要做的是点击以后进行下一步的动作,所以要为每一个条目设置监听器,当某一个条目被点击的时候,实现某一项功能。

其实这个跟普通的监听没有太大区别。无非就是在spinner上面绑定一个监听器spinner.setOnItemSelectedListener(newSpinnerListener());  //假设监听类为SpinnerListener

然后再写一个内部类SpinnerListener,实现OnItemSelectedListener类,其中要实现两个方法。主要是下面这一个,另一个叫做 public void onNothingSelected(AdapterView<?>arg0)

 public voidonItemSelected(AdapterView<?>adapterView, View view, int position, long id) {

 String s =adapterView.getItemAtPosition(position).toString(); //这里就是将条目所包含的字符串赋给s

 System.out.println(s);   //这里可以进行进一步的操作,比如进行比较,然后针对不同的字符串做出不同操作

 }

android下拉选择框spinner的更多相关文章

  1. 下拉选择框 Spinner的用法。

    代码如下: package com.lixu.xialakuang; import android.app.Activity; import android.content.Context; impo ...

  2. Android下拉选择框之PopupWindow

    1.效果图 2.思路分析 1.点击弹出对话框 popupwindow 2.对popupwindow进行相关设置,popupwindow中设置view为listview 3.listview中item设 ...

  3. 下拉选择框,PopupWindow的使用

    实现下拉选择框 直接上代码 Activity.java package com.example.shaofei.customerviewdemo1; import android.os.Bundle; ...

  4. java、easyui-combotree树形下拉选择框

    最近一直在研究这个树形的下拉选择框,感觉非常的有用,现在整理下来供大家使用: 首先数据库的表架构设计和三级菜单联动的表结构是一样,(父子关系) 1.下面我们用hibernate建一下对应的额实体类: ...

  5. FancySelect – 更好用的 jQuery 下拉选择框插件

    FancySelect 这款插件是 Web 开发中下拉框功能的一个更好的选择.FancySelect 使用方便,只要绑定页面上的任何 Select 元素,并调用就 .fancySelect() 就可以 ...

  6. HTML、CSS小知识--兼容IE的下拉选择框select

    HTML <div class="s_h_ie"> <select id="Select1" disabled="disabled& ...

  7. Bootstrap系列 -- 15. 下拉选择框select

    Bootstrap框架中的下拉选择框使用和原始的一致,多行选择设置multiple属性的值为multiple.Bootstrap框架会为这些元素提供统一的样式风格 <form role=&quo ...

  8. CSS自定义select下拉选择框(不用其他标签模拟)

    今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方 ...

  9. 基于jQuery美化联动下拉选择框

    今天给大家介绍一款基于jQuery美化联动下拉选择框.这款下下拉选择框js里自带了全国所有城市的数数库.下拉选择框适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲 ...

随机推荐

  1. 【转】Git代码提交最佳实践

      GIT Commit Good Practice The following document is based on experience doing code development, bug ...

  2. Linux下编译安装redis,详细教程

    话不多说,直接开工 准备工作: 本人测试环境:Win10 虚拟机:VM Linux:CentOS5.5 (已搭建好LNMP环境) 软件包:redis-2.6.14.tar.gz (Linux下redi ...

  3. logstash input jdbc连接数据库

    示例 以下配置能够实现从 SQL Server 数据库中查询数据,并增量式的把数据库记录导入到 ES 中. 1. 查询的 SQL 语句在 statement_filepath => " ...

  4. kali Linux 文本图形界面切换遇到的怪问题

    前段装了在Virtual Box上装一个Kali Linux玩,然后设为了开机进入文本界面,后来遇到无法上网的问题,网上找到解决方法,说是NAT地址转换和host-only双网卡顺序问题,按照网上的说 ...

  5. 不使用Math.random实现随机数。

    var rand = (function(){ var today = new Date(); var seed = today.getTime(); function rnd(){ seed = ( ...

  6. table tr分离并加圆角和阴影

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  7. java常用linux命令

    1.ifconfig查看ip 2.查询 例如:find / -name httpd.conf 3.查看是否有tomcat进程 ps –ef|grep tomcat 来查看是否有tomcat进程 4.杀 ...

  8. jQuery+php实现ajax文件即时上传

    很多项目中需要用到即时上传功能,比如,选择本地图片后,立即上传并显示图像.本文结合实例讲解如何使用jQuery和PHP实现Ajax即时上传文件的功能,用户只需选择本地图片确定后即实现上传,并显示上传进 ...

  9. 聊一聊 AngularJS 服务

    什么是服务? 在 AngularJS 中,服务是一个函数或对象,可在你的 AngularJS 应用中使用. AngularJS 内建了30 多个服务. 为什么使用服务? 在很多服务中,比如 $loca ...

  10. JQuery 性能优化

    一.合适的选择器 JQuery 选择器提供丰富的选择器来定位DOM元素, 基本选择器 #id..class.element.*等:那他们哪个更高效呢? 第一选择: $("#id") ...