怎么给 spinner设置标题 加一个标题?typespinner设置标题.setPrompt

Android学习之Spinner控件的使用_Linux编程_Linux公社-Linux系统门户网站
你好,游客
Android学习之Spinner控件的使用
来源:Linux社区&
在开发项目中,spinner控件使用的还是比较多的。下面就来讨论一下spinner的知识。以备以后自己忘记前来查阅。本节还涉及到ArrayAdatper的使用方法。
直接给定例子,离职中有详细的介绍:
在layout中main.xml文件的内容为:
&?xml version="1.0" encoding="utf-8"?&&LinearLayout xmlns:android="/apk/res/android"&&& android:orientation="vertical"&&& android:layout_width="fill_parent"&&& android:layout_height="fill_parent"&&& &&Spinner&android:layout_width="fill_parent"&&& android:layout_height="wrap_content"&&& android:id="@+id/spinner"&&& android:text="spinner"/&&/LinearLayout&
在layout中string.xml文件的内容为:
&?xml version="1.0" encoding="utf-8"?&&resources&&&& &string name="hello"&Hello World, SpinnerActivity!&/string&&&& &string name="app_name"&SpinnerTest&/string&&&& &&& &string-array name="spinner"&&&&& &item&a&/item&&&&& &item&x&/item&&&&& &item&d&/item&&&&& &item&c&/item&&&&& &item&v&/item&&&&& &item&f&/item&&&& &/string-array&&/resources&
java代码如下:
import android.app.Aimport android.os.Bimport android.view.Vimport android.widget.AdapterVimport android.widget.ArrayAimport android.widget.Simport android.widget.T
public class SpinnerActivity extends Activity {&Spinner spinner =&&@Override&public void onCreate(Bundle savedInstanceState) {& & super.onCreate(savedInstanceState);& setContentView(R.layout.main);& spinner = (Spinner) findViewById(R.id.spinner);
& /**&& * 通过createFromResource()方法创建ArrayAdapter对象&& * 第一个参数是上下文对象&& * 第二个参数引用了string.xml文件当中的数组,&& * 第三个参数用来指明spinner的样式,是一个布局id,该布局id由android系统提供,也可以替换自己定义的布局文件&& */& ArrayAdapter&CharSequence& adapter = ArrayAdapter.createFromResource(&&& this, R.array.spinner, android.R.layout.simple_spinner_item);& //设置spinner显示的样式,引用一个android系统提供的样式,系统自带了比较多的样式,大& //家可以选择自己喜欢的样式或客户定制的样式,当能也可以自己制定样式& adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);& spinner.setAdapter(adapter);& spinner.setPrompt("测试");& & //设置spinner控件的监听器& spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
&& //当用户选定了一个条目时,就会调用该方法&& /**&&& * 第一个参数:代表整个列表页就是包含所有条目的列表&&& * 第二个参数:代表被选中的条目的view&&& * 第三个参数:位置&&& * 第四个参数:空间的id&&& */&& @Override&& public void onItemSelected(AdapterView&?& parent, View view,&&&& int position, long id) {&&& /**&&&& * getItemAtPosition()&&&& * 获取相关的数据列表中的指定位置&&&& */&&& Toast.makeText(parent.getContext(),"The planet is "+ parent.getItemAtPosition(position).toString(),&&&&& Toast.LENGTH_LONG).show();&& }
&& @Override&& public void onNothingSelected(AdapterView&?& parent) {
&& }& });&}}
这样就可以控制一个spinner控件了。以上这个例子使用ArrayAdapter非常局限,很难做到动态添加数据。下面这个例子就是说明自己定义布局文件,自己用一个集合添加数据。
要在layout里面添加一个布局文件item.xml:
&?xml version="1.0" encoding="utf-8"?&&LinearLayout xmlns:android="/apk/res/android"&&& android:orientation="vertical"&&& android:layout_width="fill_parent"&&& android:layout_height="fill_parent"&&& &&TextView&android:layout_width="fill_parent"&&& android:layout_height="wrap_content"&&& android:id="@+id/textView"/&&/LinearLayout&
其他的和上面例子一样;看java代码:
import java.util.ArrayLimport java.util.L
import android.app.Aimport android.os.Bimport android.view.Vimport android.widget.AdapterVimport android.widget.ArrayAimport android.widget.Simport android.widget.T
public class SpinnerActivity extends Activity {&Spinner spinner =&&@Override&public void onCreate(Bundle savedInstanceState) {& & super.onCreate(savedInstanceState);& setContentView(R.layout.main);& & spinner = (Spinner) findViewById(R.id.spinner);
& /**&& * 通过createFromResource()方法创建ArrayAdapter对象&& * 第一个参数是上下文对象&& * 第二个参数引用了string.xml文件当中的数组,&& * 第三个参数用来指明spinner的样式,是一个布局id,该布局id由android系统提供,也可以替换自己定义的布局文件&& */& //ArrayAdapter&CharSequence& adapter = ArrayAdapter.createFromResource(this, R.array.spinner, android.R.layout.simple_spinner_item);& //设置spinner显示的样式,引用一个android系统提供的样式,系统自带了比较多的样式,大& //家可以选择自己喜欢的样式或客户定制的样式,当能也可以自己制定样式& //adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);& & & List&String& list = new ArrayList&String&();& list.add("wo");& list.add("ai");& list.add("ni");& /**&& * 调用ArrayAdapter的构造函数创建一个ArrayAdapter对象&& * 第一个参数指上下文&& * 第二个参数指定了下拉菜单中每一个条目的样式&& * 第三个参数指定了TextView空间的id&& * 第四个参数要添加数据的集合,为整个列表提供数据&& */& ArrayAdapter adapter = new ArrayAdapter(this, R.layout.item, R.id.textView, list);& & & spinner.setAdapter(adapter);& spinner.setPrompt("测试");& & //设置spinner控件的监听器& spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
&& //当用户选定了一个条目时,就会调用该方法&& /**&&& * 第一个参数:代表整个列表页就是包含所有条目的列表&&& * 第二个参数:代表被选中的条目的view&&& * 第三个参数:位置&&& * 第四个参数:空间的id&&& */&& @Override&& public void onItemSelected(AdapterView&?& parent, View view,&&&& int position, long id) {&&& /**&&&& * getItemAtPosition()&&&& * 获取相关的数据列表中的指定位置&&&& */&&& Toast.makeText(parent.getContext(),"The planet is "+ parent.getItemAtPosition(position).toString(),&&&&& Toast.LENGTH_LONG).show();&& }
&& @Override&& public void onNothingSelected(AdapterView&?& parent) {
&& }& });&}}
这样就实现了再list中望列表中动态添加数据。
相关资讯 & & &
& (06/21/:10)
& (02/10/:37)
& (11/01/:39)
& (05/04/:37)
& (01/20/:15)
图片资讯 & & &
   同意评论声明
   发表
尊重网上道德,遵守中华人民共和国的各项有关法律法规
承担一切因您的行为而直接或间接导致的民事或刑事法律责任
本站管理人员有权保留或删除其管辖留言中的任意内容
本站有权在网站内转载或引用您的评论
参与本评论即表明您已经阅读并接受上述条款android学习--Spinner下拉菜单的使用 - CSDN博客
Spinner下拉菜单,主要作用是给用户提供一个选择。
简要介绍一下步骤
1、在布局文件中声明
&Spinner&android:id=&@+id/spinnerId&
&&&&android:paddingLeft=&10dip&
&&&&android:paddingRight=&10dip&
&&&&android:layout_width=&fill_parent&
&&&&android:layout_height=&wrap_content&/&
2、在当中声明一个数组
&string-array&name=&planet_array&&
&&&&&item&&Mercury&/item&
&&&&&item&&Vernus&/item&
&&&&&item&&Mars&/item&
&&&&&item&&Earth&/item&
&/string-array&
3、创建一个
ArrayAdapter&CharSequence&&adapter&=&ArrayAdapter.createFromResource(
this,&R.array.planet_array,
android.R.layout.simple_spinner_item);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
4、得到对象,并设置数据
spinner.setAdapter(adapter);
spinner.setPrompt(&测试&);
为了获得选择之后的数据,需要为绑定一个监听器
创建一个监听器
class&SpinnerOnSelectedListener&implements&OnItemSelectedListener&{&
public&void&onItemSelected(AdapterView&?&&parent,&View&view,
int&position,&long&id)&{
//此处得到所选项数据
String&strSelected&=&(String)&parent.getItemAtPosition(position);
System.out.println(strSelected);
public&void&onNothingSelected(AdapterView&?&&parent)&{
System.out.println(&Nothing&Selected!&);
绑定监听器
spinner.setOnItemSelectedListener(new&SpinnerOnSelectedListener());
看下效果图吧
工程代码:lingdududu 的BLOG
用户名:lingdududu
文章数:216
评论数:182
访问量:1188534
注册日期:
阅读量:26118
51CTO推荐博文
&一.Spinner的简介与创建
1.Spinner的简介
&Spinner(下拉列表)是一个每次只能选择所有项中一项的控件,相当于Html中的下拉列表框。它的继承关系如下:
java.lang.Object
&↳ android.view.View
&& ↳ android.view.ViewGroup
&&&& ↳ android.widget.AdapterView&T extends android.widget.Adapter&
&&&&&&& ↳ android.widget.AbsSpinner&
&&&&&&&&&& ↳ android.widget.Spinner
& Spinner常用的XML属性:
android:prompt
该提示在下拉列表对话框显示时显示。(译者注:对话框的标题:
2.创建使用Spinner的步骤如下:
①需要在布局中定时Spinner组件,然后向Spinner添加需要选择的数据
②设置事件监听器setOnItemSelectedListener( )并实现onItemSelected( )
3.Spinner添加数据的两种方法:
①在Java代码中载入列表数据
具体的例子如下:
MainActivity.java
package&com.android. &&import&android.app.A &import&android.os.B &import&android.view.V &import&android.widget.AdapterV &import&android.widget.ArrayA &import&android.widget.S &import&android.widget.TextV &&public&class&MainActivity&extends&Activity&{ &&&&&private&static&final&String[]&province={&广东&,&广西&,&湖南&,&河南&,&福建&}; &&&&&private&TextView& &&&&&private&Spinner& &&&&&private&ArrayAdapter&String&& &&&&&@Override&&&&&public&void&onCreate(Bundle&savedInstanceState)&{ &&&&&&&&&super.onCreate(savedInstanceState); &&&&&&&&&setContentView(R.layout.main); &&&&&&&&&text=(TextView)findViewById(R.id.text); &&&&&&&&&spinner=(Spinner)findViewById(R.id.spinner); &&&&&&&&& &&&&&&&&&&&&&&&&&&adapter=new&ArrayAdapter&String&(this,android.R.layout.simple_spinner_item,province); &&&&&&&&&&&&&&&&&&adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); &&&&&&&&&&&&&&&&&&&&&&&&&&&spinner.setPrompt(&你来自哪个省&); &&&&&&&&&&&&&&&&&&spinner.setAdapter(adapter); &&&&&&&&&&&&&&&&&&spinner.setOnItemSelectedListener(new&Spinner.OnItemSelectedListener(){ &&&&&&&&&&&&&@Override&&&&&&&&&&&&&public&void&onItemSelected(AdapterView&?&&arg0,&View&arg1, &&&&&&&&&&&&&&&&&&&&&int&arg2,&long&arg3)&{ &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&text.setText(&你所在的城市是:&+province[arg2]); &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&arg0.setVisibility(View.VISIBLE); &&&&&&&&&&&&&} &&&&&&&&&&&&&&@Override&&&&&&&&&&&&&public&void&onNothingSelected(AdapterView&?&&arg0)&{ &&&&&&&&&&&&&&&&&&&&&&&&&&&&&&}&&&&&&& &&&&&&&&&}); &&&&&} &}&
&version=&1.0&&encoding=&utf-8&&&xmlns:android=&/apk/res/android&&&&&&android:orientation=&vertical&& &&&&&android:padding=&10dip&&&&&&android:layout_width=&fill_parent&& &&&&&android:layout_height=&wrap_content&&&&&&&&&&&& &&&&&&&&&android:id=&@+id/text&&&&&&&&&&android:layout_width=&fill_parent&&&&&&&&&&android:layout_height=&wrap_content&& &&&&&&&&&android:layout_marginTop=&10dip&&&&&&&&&&android:text=&@string/planet_prompt&& &&&&&&&&&&&&&&& &&&&&&&&&android:id=&@+id/spinner&& &&&&&&&&&android:layout_width=&fill_parent&&&&&&&&&&android:layout_height=&wrap_content&&&&&&&&&&&&
&strings.xml
&version=&1.0&&encoding=&utf-8&&&&&&&&name=&planet_prompt&你来自的省份是:&&&&&&name=&app_name&测试Spinner&&
②在XML文件中定义列表的数据
具体的例子如下:
MainActivity.java
package&com.android. &&import&android.app.A &import&android.os.B &import&android.view.V &import&android.widget.AdapterV &import&android.widget.AdapterView.OnItemSelectedL &import&android.widget.ArrayA &import&android.widget.S &import&android.widget.T &&public&class&MainActivity&extends&Activity&{ &&&&&&@Override&&&&&public&void&onCreate(Bundle&savedInstanceState)&{ &&&&&&&&&super.onCreate(savedInstanceState); &&&&&&&&&setContentView(R.layout.main); &&&&&&&&&Spinner&spinner&=&(Spinner)&findViewById(R.id.spinner); &&&&&&&&&ArrayAdapter&CharSequence&&adapter&=&ArrayAdapter.createFromResource( &&&&&&&&&&&&&&&&&this,&R.array.province, &&&&&&&&&&&&&&&&&android.R.layout.simple_spinner_item); &&&&&&&&&&&&&&&&&&adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); &&&&&&&&&&&&&&&&&&spinner.setAdapter(adapter); &&&&&&&&&spinner.setOnItemSelectedListener(new&MyOnItemSelectedListener()); &&&&&} &&&&& &&&&&&public&class&MyOnItemSelectedListener&implements&OnItemSelectedListener&{&&&& &&&&&&&&&public&void&onItemSelected(AdapterView&?&&parent,View&view,&int&pos,&long&id)&{&&&&&& &&&&&&&&&&&&&Toast.makeText(parent.getContext(),&&你来自的省份是:&&&+ &&&&&&&&&&&&&&&&&&parent.getItemAtPosition(pos).toString(),&Toast.LENGTH_LONG).show();&&&& &&&&&&&&&&&&&}&& &&&&&&&&& &&&&&&&&&public&void&onNothingSelected(AdapterView&?&&parent)&{&&&&&& &&&&&&&&&&&&&&&&&&&&&&} &&&&&} &}&
&version=&1.0&&encoding=&utf-8&&&xmlns:android=&/apk/res/android&&&&&&android:orientation=&vertical&& &&&&&android:padding=&10dip&&&&&&android:layout_width=&fill_parent&& &&&&&android:layout_height=&wrap_content&&&&&&&&&&&& &&&&&&&&&android:id=&@+id/text&&&&&&&&&&android:layout_width=&fill_parent&&&&&&&&&&android:layout_height=&wrap_content&& &&&&&&&&&android:layout_marginTop=&10dip&&&&&&&&&&android:text=&@string/planet_prompt&& &&&&&&&&&&&&&&& &&&&&&&&&android:id=&@+id/spinner&& &&&&&&&&&android:layout_width=&fill_parent&&&&&&&&&&android:layout_height=&wrap_content&&&&&&&&&&android:prompt=&@string/planet_prompt&&&&&&&&&&&&
strings.xml
&version=&1.0&&encoding=&utf-8&&&&&&&&name=&planet_prompt&你来自的省份是&&&&&&name=&app_name&测试Spinner&&&&&&name=&province&&&&&&&&&&广东&&&&&&&&&广西&&&&&&&&&湖南&&&&&&&&&河南&&&&&&&&&福建&&&&&&&
&二.AutoCompleteTextView简介
 & 我们平常上网的时候经常会用到Google或百度,在输入框中输入类似&51CTO&,和51CTO相关的信息就会被列出来,供用户选择,非常方便。这种效果在Android中是用AutoCompleteTextView实现的。在AutoCompleteTextView中,主要是设置想显示资源的适配器(Adapter)。
&&& AutoCompleteTextView有三个重要的方法clearListSelection():清除选中的列表项、dismissDropDown():如果存在关闭下拉菜单、getAdapter():获取适配器。
具体的例子如下:
MainActivity.java
package&com.android. &&import&android.app.A &import&android.os.B &import&android.widget.ArrayA &import&android.widget.AutoCompleteTextV &&public&class&MainActivity&extends&Activity&{ &&&&&private&AutoCompleteTextView& &&&&&&&&&&private&static&final&String[]&strs&=&{&an&,&&and&,&&android&,&&abc&,&abcdef&&}; &&&&&@Override&&&&&public&void&onCreate(Bundle&savedInstanceState)&{ &&&&&&&&&super.onCreate(savedInstanceState); &&&&&&&&&setContentView(R.layout.main); &&&&&&&&&atv&=&(AutoCompleteTextView)&findViewById(R.id.AutoCompleteTextView1); &&&&&&&&&&&&&&&&&&ArrayAdapter&String&&adapter&=&new&ArrayAdapter&String&(this,& &&&&&&&&&&&&&&&&&android.R.layout.simple_dropdown_item_1line,&strs); &&&&&&&&&&&&&&&&&&atv.setAdapter(adapter); &&&&&} &}&
&version=&1.0&&encoding=&utf-8&&&xmlns:android=&/apk/res/android&&&&&&android:orientation=&vertical&&&&&&android:layout_width=&fill_parent&&&&&&android:layout_height=&fill_parent&&&&&&&&&&&& &&&&&&&&&android:layout_width=&wrap_content&& &&&&&&&&&android:layout_height=&wrap_content&& &&&&&&&&&android:text=&自动完成文本框&&&&&&&&&&&&&&&& &&&&&&&&&android:id=&@+id/AutoCompleteTextView1&& &&&&&&&&&android:layout_width=&fill_parent&& &&&&&&&&&android:layout_height=&wrap_content&&&&&&&&&&&&
本文出自 “” 博客,请务必保留此出处
了这篇文章
类别:┆阅读(0)┆评论(0)
本文收录至博客专题:《》
13:47:33 13:56:38 14:03:32 14:08:35 14:24:01推荐这篇日记的豆列
······

我要回帖

更多关于 多个spinner 的文章

 

随机推荐