android:Spinner(下拉框)控件的使用
android:Spinner(下拉框)控件的使用
创建页面文件(main.xml)
1<Spinner
2android:id="@+id/spinner1"
3android:layout_width="match_parent"
4android:layout_height="wrap_content"/>
5
6<TextView
7android:id="@+id/tvResult"
8android:layout_width="match_parent"
9android:layout_height="wrap_content"
10android:text="选择的水果"/>
创建下拉框的数据源
1List<String>list=newArrayList<String>();
2list.add("苹果");
5list.add("香蕉");
7list.add("橘子");
9list.add("香蕉");
创建适配器(下拉框的数据源是来自适配器)
ArrayAdapter<String>adapter=newArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);
为适配器添加样式
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
系统提供的样式如下
lsimple_spinner_dropdown_item(列表-间距较高比较好看)
clip_image004[10]
lsimple_spinner_item(列表-间距紧凑不好看)
clip_image006[10]
lsimple_list_item_checked(复选框-选中的有绿沟)
clip_image008[10]
lsimple_list_item_single_choice(单选按钮)
clip_image010[10]
向控件Spinner添加适配器
1Spinnersp=(Spinner)findViewById(R.id.spinner1);
2sp.setAdapter(adapter);
释义
1.setAdapter(SpinnerAdapteradapter),从类的继承关系上看,ArrayAdapter是SpinnerAdapter接口的间接实现类
clip_image012[10]
实现选择项事件(使用匿名类实现接口)
1sp.setOnItemSelectedListener(newOnItemSelectedListener(){
2//parent:为控件Spinnerview:显示文字的TextViewposition:下拉选项的位置从0开始
3publicvoidonItemSelected(AdapterView<?>parent,Viewview,intposition,longid){
4TextViewtvResult=(TextView)findViewById(R.id.tvResult);
5//获取Spinner控件的适配器
6ArrayAdapter<String>adapter=(ArrayAdapter<String>)parent.getAdapter();
7tvResult.setText(adapter.getItem(position));
8}
9//没有选中时的处理
10publicvoidonNothingSelected(AdapterView<?>parent){
11}
12});
后台整体代码如下
1publicvoidonCreate(BundlesavedInstanceState){
2super.onCreate(savedInstanceState);
3setContentView(R.layout.main);
4List<String>list=newArrayList<String>();
5list.add("苹果");
6list.add("香蕉");
7list.add("橘子");
8list.add("香蕉");
9ArrayAdapter<String>adapter=newArrayAdapter<String>(this,android.R.layout.simple_spinner_item,list);
10adapter.setDropDownViewResource(android.R.layout.simple_list_item_single_choice);
11Spinnersp=(Spinner)findViewById(R.id.spinner1);
12sp.setAdapter(adapter);
13sp.setOnItemSelectedListener(newOnItemSelectedListener(){
14//parent:为控件Spinnerview:显示文字的TextViewposition:下拉选项的位置从0开始
15publicvoidonItemSelected(AdapterView<?>parent,Viewview,intposition,longid){
16TextViewtvResult=(TextView)findViewById(R.id.tvResult);
17//获取Spinner控件的适配器
18ArrayAdapter<String>adapter=(ArrayAdapter<String>)parent.getAdapter();
19tvResult.setText(adapter.getItem(position));
20}
21//没有选中时的处理
22publicvoidonNothingSelected(AdapterView<?>parent){
23}
24});
25}
更多相关文章
- 安卓巴士Android开发神贴整理
- Android(安卓)Adapter
- android控件属性
- Android(总结):控件居中|水平居中|垂直居中
- 关于android.R.id.text1
- 介绍三个Android支持库控件:TabLayout+ViewPager+RecyclerView
- android界面开发小结——android笔记---控件和布局
- android重要控件各种大全
- android控件属性(中文)