【转】Android 之 下拉框(Spinner)的使用
原文网址:http://imshare.iteye.com/blog/770950
下拉列表 Spinner。
Spinner的使用,可以极大提高用户的体验性。当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来。供用户选择。
Demo如下,可以留作参考
一、使用数组作为数据源
1.新建一个android的工程
2.工程的layout.xml文件如下:声明一个TextView控件和一个Spinner控件
- <?xml version="1.0" encoding="utf-8"?>
- <LinearLayout
- xmlns:android="http://schemas.android.com/apk/res/android"
- android:layout_width="fill_parent"
- android:layout_height="fill_parent"
- android:orientation="vertical"
- >
- <TextView android:id="@+id/spinnerText"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"></TextView>
- <Spinner android:id="@+id/Spinner01"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"></Spinner>
- </LinearLayout>
3.java代码
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.AdapterView.OnItemSelectedListener;
- import android.widget.ArrayAdapter;
- import android.widget.Spinner;
- import android.widget.TextView;
- public class SpinnerActivity extends Activity {
- private static final String[] m={"A型","B型","O型","AB型","其他"};
- private TextView view ;
- private Spinner spinner;
- private ArrayAdapter<String> adapter;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.spinner);
- view = (TextView) findViewById(R.id.spinnerText);
- spinner = (Spinner) findViewById(R.id.Spinner01);
- //将可选内容与ArrayAdapter连接起来
- adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,m);
- //设置下拉列表的风格
- adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- //将adapter 添加到spinner中
- spinner.setAdapter(adapter);
- //添加事件Spinner事件监听
- spinner.setOnItemSelectedListener(new SpinnerSelectedListener());
- //设置默认值
- spinner.setVisibility(View.VISIBLE);
- }
- //使用数组形式操作
- class SpinnerSelectedListener implements OnItemSelectedListener{
- public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
- long arg3) {
- view.setText("你的血型是:"+m[arg2]);
- }
- public void onNothingSelected(AdapterView<?> arg0) {
- }
- }
- }
4、运行效果如下:


二、使用XML作为数据源
1.新建一个android的工程
2.在values文件夹下新建一个arryas.xml文件:声明一个TextView控件和一个Spinner控件,代码如下:
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string-array name="plantes">
- <item>NOKIA</item>
- <item>MOTO</item>
- <item>HTC</item>
- <item>LG</item>
- <item>其他</item>
- </string-array>
- </resources>
3.java代码
- import android.app.Activity;
- import android.os.Bundle;
- import android.view.View;
- import android.widget.AdapterView;
- import android.widget.AdapterView.OnItemSelectedListener;
- import android.widget.ArrayAdapter;
- import android.widget.Spinner;
- import android.widget.TextView;
- public class SpinnerActivity extends Activity {
- private TextView view2;
- private Spinner spinner2;
- private ArrayAdapter adapter2;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- // TODO Auto-generated method stub
- super.onCreate(savedInstanceState);
- setContentView(R.layout.spinner);
- spinner2 = (Spinner) findViewById(R.id.spinner02);
- view2 = (TextView) findViewById(R.id.spinnerText02);
- //将可选内容与ArrayAdapter连接起来
- adapter2 = ArrayAdapter.createFromResource(this, R.array.plantes, android.R.layout.simple_spinner_item);
- //设置下拉列表的风格
- adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
- //将adapter2 添加到spinner中
- spinner2.setAdapter(adapter2);
- //添加事件Spinner事件监听
- spinner2.setOnItemSelectedListener(new SpinnerXMLSelectedListener());
- //设置默认值
- spinner2.setVisibility(View.VISIBLE);
- }
- //使用XML形式操作
- class SpinnerXMLSelectedListener implements OnItemSelectedListener{
- public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
- long arg3) {
- view2.setText("你使用什么样的手机:"+adapter2.getItem(arg2));
- }
- public void onNothingSelected(AdapterView<?> arg0) {
- }
- }
- }
4、运行效果如下:


【转】Android 之 下拉框(Spinner)的使用的更多相关文章
- Android 之 下拉框(Spinner)的使用
下拉列表 Spinner. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来.供用户选择. Demo如下,可以留作参考 一.使用数组作为数 ...
- Android 之 下拉框(Spinner)的使用-转
下拉列表 Spinner. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来.供用户选择. Demo如下,可以留作参考 一.使用数组作为数 ...
- Android零基础入门第46节:下拉框Spinner
原文:Android零基础入门第46节:下拉框Spinner 上一期学习了GridView的使用,你已经掌握了吗?本期一起来学习Spinner的使用. 一.认识Spinner Spinner其实就是一 ...
- android实现下拉框(spinner),自己定义大小颜色背景位置,去掉默认样式黑边
1. 实现最简单的spinner xml文件,有一个TextView,一个Spinner: <RelativeLayout xmlns:android="http://schemas. ...
- 下拉框spinner
repositories { flatDir { dirs 'libs' //就是你放aar的目录地址 maven { url "https://jitpack.io" } }}d ...
- Android实现三级联动下拉框 下拉列表spinner
Android实现(省.市.县)三级联动下拉框 下拉列表spinner 转载请注明出处: http://www.goteny.com/articles/2013/11/46.html http://w ...
- Android实现三级联动下拉框下拉列表spinner
原文出处:http://www.cnblogs.com/zjjne/archive/2013/10/03/3350107.html 主要实现办法:动态加载各级下拉值的适配器 在监听本级下拉框,当本级下 ...
- Android 第三方开源下拉框:NiceSpinner
Android原生的下拉框Spinner基本上可以满足Android开发对于下拉选项的设计需求,但现在越来越流行的下拉框不满足于Android原生提供的下拉框Spinner所提供的设计样式,而改用自定 ...
- Android第三方开源下拉框:NiceSpinner
Android第三方开源下拉框:NiceSpinner Android原生的下拉框Spinner基本上可以满足Android开发对于下拉选项的设计需求,但现在越来越流行的下拉框不满足于Andro ...
随机推荐
- MySQL 分区表原理及使用详解
今天统计数据的时候发现一张表使用了表分区,借此机会记录一下. 1. 什么是表分区? 表分区,是指根据一定规则,将数据库中的一张表分解成多个更小的,容易管理的部分.从逻辑上看,只有一张表,但是底层却是由 ...
- npm 模块安装机制简介
npm 是 Node 的模块管理器,功能极其强大.它是 Node 获得成功的重要原因之一. 正因为有了npm,我们只要一行命令,就能安装别人写好的模块 . $ npm install 本文介绍 npm ...
- selenium page object model
Page Object Model (POM) & Page Factory in Selenium: Ultimate Guide 来源:http://www.guru99.com/page ...
- DB2完美卸载
会安装,也要会卸载.详细的安装说明不多,我这个我觉得写得还算全. 准备工作. 1.用 ps -ef|grep db2 找出db2安装目录 2. ./db2level 查出DB2的 ...
- HTML5 API's (Application Programming Interfaces)
New HTML5 API's (Application Programming Interfaces) The most interesting new API's are: HTML Geoloc ...
- 利用TreeSet给纯数字字符串排序
import java.util.Iterator;import java.util.TreeSet; /* * 给字符串中的数字排序 * String str = "10,2,11,1,3 ...
- Lance老师UI系列教程第八课->新浪新闻SlidingMenu界面的实现
UI系列教程第八课:Lance老师UI系列教程第八课->新浪新闻SlidingMenu界面的实现 今天蓝老师要讲的是关于新浪新闻侧滑界面的实现.先看看原图: 如图所示,这种侧滑效果以另一种方式替 ...
- Swift补基础之Selector、条件编译、编译标记、NSObject
在swift中使用条件编译比较直接 #if <condition> #elseif <condition> #else #endif 例如 :在debug模式和release模 ...
- Ignatius and the Princess III --undo
Ignatius and the Princess III Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (J ...
- sys--system-sysdba-sysoper用户区别
当Oracle 数据库安装完毕后,系统会自动创建sys和system这两个帐户.1.sys :缺省密码为CHANGE_ON_INSTALL ,且被授予DBA角色system :缺省密码为MANAGER ...