`
imshare
  • 浏览: 323689 次
  • 性别: Icon_minigender_1
  • 来自: 宜昌
社区版块
存档分类
最新评论

Android 之 下拉框(Spinner)的使用

阅读更多
下拉列表 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、运行效果如下:





  • 大小: 10.1 KB
  • 大小: 11.3 KB
  • 大小: 11.7 KB
分享到:
评论
14 楼 asdf_2012 2015-01-12  
给个代码可以吗?
13 楼 lhlvictory 2014-11-25  
多谢分享,学习了!
12 楼 chen314960107 2014-04-08  
spinner.setSelection(number, true);
number为你数组中要显示第几个
11 楼 zhanglfat 2014-02-10  
endual 写道
hi,
spinner初始赋值您知道么,我找了网上的资料貌似都没有提到。
你看,是这样的,
private static final String[] m={"A型","B型","O型","AB型","其他"}; 
我初次赋值要是B型,而不是A型

setSelection(countryIndex);
10 楼 liyong704 2013-10-09  
endual 写道
hi,
spinner初始赋值您知道么,我找了网上的资料貌似都没有提到。
你看,是这样的,
private static final String[] m={"A型","B型","O型","AB型","其他"}; 
我初次赋值要是B型,而不是A型

setOnItemClickListener和setOnClickListener都不能用来监听Spinner,否则会出错。 setOnLongClickListener能用来监听Spinner的长按事件,只能监听Spinner被长按住,好像基本用不上。 
setOnTouchListener能用来监听Spinner控件的触摸事件,注意一次快速的触摸都能触发这事件好几次。   
只能尝试setOnHierarchyChangeListener用来监听显示在Spinner上面的view的变化的,需要重写两个方法
9 楼 a13429921973 2013-09-27  
顶!很细致!
8 楼 TheMatrix 2013-08-17  
真不错,写的很清晰!~
7 楼 luzle 2013-05-07  
多谢楼主分享
6 楼 shangs2010 2013-01-29  
不错,多谢~!
5 楼 endual 2012-07-05  
hi,
spinner初始赋值您知道么,我找了网上的资料貌似都没有提到。
你看,是这样的,
private static final String[] m={"A型","B型","O型","AB型","其他"}; 
我初次赋值要是B型,而不是A型
4 楼 smilecatflowers 2011-09-30  
不错,学习了。。。
3 楼 俺的名字叫荆华 2011-09-07  
多谢分享!
2 楼 imshare 2011-08-09  
dongyongyang 写道
多谢分享!

1 楼 dongyongyang 2011-08-09  
多谢分享!

相关推荐

    Android城市级联下拉框(自定义Spinner)

    在Android开发中,有时...总之,实现Android城市级联下拉框(自定义Spinner)需要对Spinner的基本使用、事件监听、数据更新以及界面定制有深入了解。通过不断实践和优化,我们可以创建出用户体验优秀的级联选择组件。

    Android使用 Spinner控件实现下拉框功能

    通过使用 Spinner 控件,我们可以在 Android 应用程序中实现下拉框的效果。下面我们将通过实例代码来介绍如何使用 Spinner 控件实现下拉框功能。 Spinner 控件的使用步骤 1. 首先,我们需要在 XML 文件中声明 ...

    Android中spinner(下拉框)的使用,和小写字母转换成大写

    通过以上步骤,我们就完成了Android Spinner的使用以及小写字母转大写的处理。这样的功能在处理如车牌号等特定输入时,能够提高用户体验,确保输入的格式一致性。在实际项目中,还可以根据需求进一步优化,例如增加...

    Android 自定义下拉框的实现 Spinner

    在Android开发中,Spinner是一个非常常用的组件,它用于创建下拉选择列表,通常用于实现简单的选项选择功能。本文将深入探讨如何在Android中自定义Spinner,以满足特定的设计需求。 一、Spinner的基本使用 Spinner...

    android完美下拉框控件

    在Android开发中,"完美下拉框控件"通常指的是具有高效、自定义化和用户体验优良的Spinner组件。Spinner是Android SDK提供的一种基础UI控件,用于实现下拉选择的效果,它可以在用户点击后弹出一个列表供用户选择。本...

    Android自定义spinner下拉框实现的实现

    本篇文章将详细讲解如何自定义一个Android Spinner的下拉框实现,以提供更加个性化的用户体验。 首先,我们需要了解Spinner的基本用法。Spinner通常通过Adapter来绑定数据源,常见的有ArrayAdapter、...

    Android第三方开源下拉框NiceSpinner使用详解

    NiceSpinner的出现满足了Android开发者对高定制化的下拉框Spinner的需求, NiceSpinner的使用非常广泛,以下是NiceSpinner的使用详解。 NiceSpinner的特点: 1. 高定制化:NiceSpinner提供了强大的定制化功能,...

    Android自定义下拉框(PopupWindow实现)

    在Android开发中,有时我们需要创建具有特定样式和功能的组件,比如自定义的下拉框。本篇将详细讲解如何使用PopupWindow实现一个定制化的下拉框。 首先,理解PopupWindow的基本概念。PopupWindow是Android提供的一...

    android自定义spinner下拉框实现(封装更通用)

    博文参考:http://blog.csdn.net/geniuseoe2012/article/details/8723702 android仿web风格的spinner下拉框实现demo,实现更通用

    android studio,demo,Spinner下拉菜单多选的实现

    在Android开发中,Spinner是一个非常常见的控件,它通常用于展示一个下拉列表供用户选择。本教程将详细讲解如何在Android Studio 3.0.1环境下实现Spinner的多选功能,这对于创建交互式用户界面非常有用。 首先,...

    android studio 的下拉菜单Spinner使用详解

    Android Studio 下拉菜单 Spinner 使用详解 Android Studio 中的下拉菜单 Spinner 是一个列表选择框,类似于弹出菜单供用户选择。Spinner 继承了 AdapterView,因此它也表现出 AdapterView 的特征:只要为 ...

    Android实现三级联动下拉框 下拉列表spinner的实例代码

    适配器通常使用ArrayAdapter,它可以从数组中填充数据到Spinner。例如: ```java public class MainActivity extends Activity { private Spinner provinceSpinner; private Spinner citySpinner; private ...

    Android自定义spinner下拉框

    Android自定义spinner下拉框实现的实现 http://blog.csdn.net/jdsjlzx/article/details/41316417 请支持原创:http://blog.csdn.net/geniuseoe2012/article/details/8723702

    Android 实例讲解 Spinner样式修改

    对于android项目开发来说,常常会用到Spinner实现下拉框的效果。而对于Spinner加载适配器的方法有多种: 1.直接加载android自带的ArrayAdapter,SimpleAdapter; 2.自定义继承BaseAdapter的适配器。 对于适配器加载...

    自定义下拉框(android)

    本教程将深入探讨如何在Android中实现一个仿WEB风格的自定义下拉框(Spinner)。我们将主要围绕以下几个知识点展开: 1. **Spinner组件基础**: Spinner是Android SDK中的一个标准控件,用于展示可选择的列表项。...

    Android进阶之Spinner下拉框的使用方法

    Android进阶之Spinner下拉框的使用方法 Android Spinner 下拉框是 Android 应用程序中常用的控件之一,主要用于提供用户选择的选项菜单。 Spinner 下拉框的使用方法主要有两种:第一种是通过资源文件(arrays.xml)...

    android spinner简单示例

    在Android开发中,Spinner是一个非常常用的控件,它通常用于展示一个下拉列表,用户可以选择其中一个选项。这个控件在很多场景下都很实用,比如设置、筛选器等。本示例将详细介绍如何在Android应用中实现一个简单的...

    android 下拉菜单Spinner 几种使用

    本篇文章将详细介绍Android Spinner的几种使用方法。 首先,我们来了解一下Spinner的基本结构。Spinner继承自AbsSpinner,是AdapterView的一个子类。它通过Adapter来加载数据,并显示当前选中的项。Adapter可以是...

    Spinner下拉菜单多选 MultiSelectionSpinner

    Spinner下拉菜单多选,在布局xml文件直接作为控件使用,在activity里面调用就行了

    android开发 下拉框之十二星座

    总的来说,"android开发 下拉框之十二星座"项目展示了如何在Android应用中灵活运用Spinner控件,结合图片和文字展示,提供了一种互动性强且富有趣味性的用户体验。同时,这也是一次对数据绑定、事件监听、UI设计等多...

Global site tag (gtag.js) - Google Analytics