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. js事件(Event)知识整理[转]

    事件注册 平常我们绑定事件的时候用dom.onxxxx=function(){}的形式 这种方式是给元素的onxxxx属性赋值,只能绑定有一个处理句柄. 但很多时候我们需要绑定多个处理句柄到一个事件上 ...

  2. AbStract 和Interface 方法是否能用Static修饰,为什么?

    Abstract 和Interface 方法是否能用Static修饰,为什么? interface中不能含有Static方法,属性,成员变量. Abstract中可以有Static方法,属性,成员变量 ...

  3. 练习题之CyclicBarrier与CountDownLatch

    一.CyclicBarrier使用 new Thread().start(); new Thread(new Runnable() {},"XXX").start(); publi ...

  4. javascript for in 循环时,会取到Array.prototype

    /** *删除数组指定下标或指定对象 */ if(!Array.prototype.remove){ Array.prototype.remove = function(obj){ for(var i ...

  5. JDBC入门连接MySQL查数据

    在MySQL中建立user表,插入数据 create table user( id int, name varchar(10), age int )engine myisam charset utf8 ...

  6. python出现Non-ASCII character '\xe7' in file ex6.py on line 1, but no encoding declare错误

    http://www.cnblogs.com/qi09/archive/2012/02/06/2340712.html python中出现Non-ASCII character '\xe7' in f ...

  7. php嵌入html的解析过程

    php嵌入html的解析过程 示例: 执行过程:     首先明确:PHP是分段读取一次执行(编译),JS是分段读取分段执行   程序就是对内存的操作     函数可以先调用后定义,原因,程序的执行时 ...

  8. update语句

    [update cicm.cicmodt0702 set msgbody = :1 where msgid between :2 and :3         ] [update cicm.cicmo ...

  9. OpenJudge/Poj 2013 Symmetric Order

    1.链接地址: http://bailian.openjudge.cn/practice/2013 http://poj.org/problem?id=2013 2.题目: Symmetric Ord ...

  10. mysql常见的hint(转载的)

    mysql常用的hint对于经常使用oracle的朋友可能知道,oracle的hint功能种类很多,对于优化sql语句提供了很多方法.同样,在mysql里,也有类似的hint功能.下面介绍一些常用的. ...