文档章节

Spinner的使用

c
 chuiyuan
发布于 2014/05/06 20:53
字数 304
阅读 115
收藏 0

一 。使用Adapter的步骤

(1)获得 Spinner 对象 

(2)创建 Adapter  --------->新建Adapter 对象 

                               --------->设置下拉视图的资源 

(3)为Spinner 设置 Adapter

(4)为Spinner 设置监听器

具体

创建Adapter用:

(1)  新建Adapter 

ArrayAdapter.ArrayAdapter( Context context , int TextViewResourceId , List <String > objects );

Context: 表明这个Adpater 属于那个Activity。

第二个参数可以自己定义 。

objects :向下拉表中添加的数据 。

(2)  为Adpater 设置下拉视图的资源 

也就是点击spinner  后下拉 的视图。

ArrayAdapter.setDropDownViewResource( int resource );

可以自己定义。


例子:

protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		
		spinner = (Spinner)findViewById(R.id.spinner);
		tv =(TextView)findViewById(R.id.textView2);
		
		adapter = new ArrayAdapter(this ,
				android.R.layout.simple_spinner_item, years );    //新建 Adapter 
		adapter.setDropDownViewResource(R.layout.list);              //设置下拉资源
		
		spinner.setAdapter(adapter);                     //为spinner设置 adapter 
	
		spinner.setOnItemSelectedListener(new OnItemSelectedListener(){
			public void onItemSelected(AdapterView<?> parent, View view,
					int position, long id) {
				String selected = years[position];
				tv.append("\n"+selected);
				
			}
			public void onNothingSelected(AdapterView<?> parent) {
				// TODO Auto-generated method stub
			}	
		});
	}

里面的  R.layout.list 为

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/list"
    android:layout_width="wrap_content"
    android:layout_height="40sp"
    android:text="TextView"
    android:textAppearance="?android:attr/textAppearanceLarge" />

也就是下拉 后的视图。

目前还不能区分list 和第二个参数的区别。


二。如果想改成可以添加下拉项目的

array = new ArrayList <String>();
		
		for (int i=0;i<years.length;i++){
			array.add(years[i]);
		}
		adapter = new ArrayAdapter(this ,
				android.R.layout.simple_spinner_item, array );

还有

String selected = array.get(position);


© 著作权归作者所有

共有 人打赏支持
c
粉丝 9
博文 92
码字总数 40993
作品 0
海淀
私信 提问
Android-spinner详解

Spinner控件也是一种列表类型的控件,它的继承关系如下: java.lang.Object ↳ android.view.View ↳ android.view.ViewGroup ↳ android.widget.AdapterView ↳ android.widget.AbsSpinner ......

鉴客
2011/12/01
7.3K
0
Android学习笔记(十二):Activity-Spinner

例子一:Spinner的基本实现方法 步骤一:编写Android XML文件 步骤二:源代码 1)设置Spinner之中的元素内容,采用了ArrayAdapter来描述,并通过setApdater()来设置adapter private String[...

鉴客
2011/12/01
1K
0
android自定义spinner,使用AppCompatTextView+PopupWindow 实现下拉选择的功能

自定义spinner 自定义spinner,使用AppCompatTextView+PopupWindow 实现下拉选择的功能,代码简单,几个类 感谢 https://github.com/arcadefire/nice-spinner,本项目是对其的优化与扩展 1、...

陶海理
2018/01/16
0
0
Android 用户界面---用AdapterView绑定数据(Binding to Data with AdapterView)

AdapterView是ViewGroup的一个子类,它的子View是由绑定某些类型数据的Adapter类决定的。AdapterView有助于在需要的时候,在布局中显示被存储的数据(相对与资源字符串或可描画资源)。 Gall...

长平狐
2012/10/16
216
0
Android 之 下拉框(Spinner)的简单使用

1. 工程的layout.xml文件如下:声明一个TextView控件和一个Spinner控件 2. 下拉选择项。这边使用xml,当然也可以使用其他的方式,比如ArrayAdapter、自定义Adapter等。 3. 主类 setDropDownV...

晨曦之光
2012/03/01
3.7K
0

没有更多内容

加载失败,请刷新页面

加载更多

vue 对对象的属性进行修改时,不能渲染页面 vue.$set()

我在vue里的方法里给一个对象添加某个属性时,我console.log出来的是已经更改的object ,但是页面始终没有变化 原因如下: **受现代 JavaScript 的限制 (而且 Object.observe 也已经被废弃),...

Js_Mei
今天
2
0
开始看《Java学习笔记》

虽然书买了很久,但一直没看。这其中也写过一些Java程序,但都是基于IDE的帮助和对C#的理解来写的,感觉不踏实。 林信良的书写得蛮好的,能够帮助打好基础,看得出作者是比较用心的。 第1章概...

max佩恩
昨天
12
0
Redux 三大原则

1.单一数据源 在传统的MVC架构中,我们可以根据需要创建无数个Model,而Model之间可以互相监听、触发事件甚至循环或嵌套触发事件,这些在Redux中都是不被允许的。 因为在Redux的思想里,一个...

wenxingjun
昨天
8
0
跟我学Spring Cloud(Finchley版)-12-微服务容错三板斧

至此,我们已实现服务发现、负载均衡,同时,使用Feign也实现了良好的远程调用——我们的代码是可读、可维护的。理论上,我们现在已经能构建一个不错的分布式应用了,但微服务之间是通过网络...

周立_ITMuch
昨天
5
0
XML

学习目标  能够说出XML的作用  能够编写XML文档声明  能够编写符合语法的XML  能够通过DTD约束编写XML文档  能够通过Schema约束编写XML文档  能够通过Dom4j解析XML文档 第1章 xm...

stars永恒
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部