android下拉选择框spinner
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的更多相关文章
- 下拉选择框 Spinner的用法。
代码如下: package com.lixu.xialakuang; import android.app.Activity; import android.content.Context; impo ...
- Android下拉选择框之PopupWindow
1.效果图 2.思路分析 1.点击弹出对话框 popupwindow 2.对popupwindow进行相关设置,popupwindow中设置view为listview 3.listview中item设 ...
- 下拉选择框,PopupWindow的使用
实现下拉选择框 直接上代码 Activity.java package com.example.shaofei.customerviewdemo1; import android.os.Bundle; ...
- java、easyui-combotree树形下拉选择框
最近一直在研究这个树形的下拉选择框,感觉非常的有用,现在整理下来供大家使用: 首先数据库的表架构设计和三级菜单联动的表结构是一样,(父子关系) 1.下面我们用hibernate建一下对应的额实体类: ...
- FancySelect – 更好用的 jQuery 下拉选择框插件
FancySelect 这款插件是 Web 开发中下拉框功能的一个更好的选择.FancySelect 使用方便,只要绑定页面上的任何 Select 元素,并调用就 .fancySelect() 就可以 ...
- HTML、CSS小知识--兼容IE的下拉选择框select
HTML <div class="s_h_ie"> <select id="Select1" disabled="disabled& ...
- Bootstrap系列 -- 15. 下拉选择框select
Bootstrap框架中的下拉选择框使用和原始的一致,多行选择设置multiple属性的值为multiple.Bootstrap框架会为这些元素提供统一的样式风格 <form role=&quo ...
- CSS自定义select下拉选择框(不用其他标签模拟)
今天群里有人问到怎么自定义select下拉选择框的样式,于是群里就展开了激烈的讨论,刚开始一直就是考虑怎样使用纯CSS实现,把浏览器默认的样式覆盖掉,但最后均因兼容问题处理不好而失败告终,最后的解决方 ...
- 基于jQuery美化联动下拉选择框
今天给大家介绍一款基于jQuery美化联动下拉选择框.这款下下拉选择框js里自带了全国所有城市的数数库.下拉选择框适用浏览器:IE8.360.FireFox.Chrome.Safari.Opera.傲 ...
随机推荐
- [Doc ID 1666646.1]如何使用功能管理员清除缓存?
文档内容 目标 解决方案 适用于: Oracle iProcurement - 版本 11.5.1 到 12.0.0 [发行版 11.5 到 12] 本文档所含信息适用于所有平台 目标 怎样通 ...
- div 块跟随 鼠标点击
js: $(document).ready(function () { $(".company-contact ul li").click(function (ev) { ...
- 关于php正则表达式模式修饰符
一直以来,以为自己的正则表达式学的还算可以(基本工作上遇到的问题都能解决),但有时候却是知其然而不知其所以然,在网上看到这篇文章,解释了之前的很多疑问,记录下来,随时温故而知新. i (PCRE_CA ...
- IE6 BUG margin 两倍
触发条件: 父元素包含子元素 子元素设置了浮动(float) 子元素设置了外边距(margin) 浮动方向和边距方向一致 解决方案: 给该子元素添加 display:inline;
- nginx 错误日志分析 以及说明
1.日志简介 nginx日志主要有两种:访问日志和错误日志.访问日志主要记录客户端访问nginx的每一个请求,格式可以自定义:错误日志主要记录客户端访问nginx出错时的日志,格式不支持自定义.两种日 ...
- system.badimageformatexception 未能加载文件或程序集
今天在调用dll文件的时候发现这样一个错误. system.badimageformatexception 未能加载文件或程序集. 发现项目CPU默认Any CPU,我的系统是X64,将 ...
- SDK 组件 Qupaisdk 启动出错,错误消息为 [Qupaisdk], the android stack error message is Fail to start the plugin, which is caused by Failed resolution of: Lcom/duanqu/qupai/recorder/R$array;
紧急解决办法: 将你的oneSDK(qupaiSDK)里面的manifest的pageckage改为:com.duanqu.qupai.recorder
- PHP执行过程
PHP执行过程 任何一种语言的源代码计算机都没有办法直接执行,需要转换成计算机能够识别的机器指令. PHP也是一门高级语言,也需编译(解释) PHP的解析过程: 1.请求源代码,进行词法解析, ...
- android体系架构
android体系架构总结: android体系架构分为四层 第一层:应用层:applications 第二层:开发层 第三层:
- Windows10中的IIS10安装php manager和IIS URL Rewrite 2.0组件的方法
Windows10中自带的Server:Microsoft-IIS/10.0,然后这个10却让原本支持组件无法安装了,php manager组件安装时提示“必须安装IIS7以上才可以安装”.那是不是真 ...