Android学习之-----Spinner

Android给我们提供了一个spinner控件,这个控件主要就是一个列表,那么我们就来说说这个控件吧,这个控件在以前的也看见过,但今天还是从新介绍一遍吧。Spinner位于 android.widget包下,每次只显示用户选中的元素,当用户再次点击时,会弹出选择列表供用户选择,而选择列表中的元素同样来自适配器。Spinner是View类得一个子类。下面来具体看一下怎么回事:

1.效果图:

2.XML代码

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 3     android:id="@+id/widget28"
 4     android:layout_width="fill_parent"
 5     android:layout_height="fill_parent"
 6     android:orientation="vertical" >
 7
 8     <TextView
 9         android:id="@+id/TextView_Show"
10         android:layout_width="fill_parent"
11         android:layout_height="wrap_content"
12         android:text="你选择的是"
13         android:textSize="25sp" >
14     </TextView>
15
16     <Spinner
17         android:id="@+id/spinner_City"
18         android:layout_width="fill_parent"
19         android:layout_height="wrap_content" >
20     </Spinner>
21
22 </LinearLayout>

3.java代码

 1 package com.example.spinner;
 2
 3 import java.util.ArrayList;
 4 import java.util.List;
 5 import android.app.Activity;
 6 import android.os.Bundle;
 7 import android.view.View;
 8 import android.widget.AdapterView;
 9 import android.widget.ArrayAdapter;
10 import android.widget.Spinner;
11 import android.widget.TextView;
12
13 public class MainActivity extends Activity {
14
15     private List<String> list = new ArrayList<String>();
16     private TextView myTextView;
17     private Spinner mySpinner;
18     private ArrayAdapter<String> adapter;
19
20     @Override
21     public void onCreate(Bundle savedInstanceState) {
22         super.onCreate(savedInstanceState);
23         setContentView(R.layout.activity_main);
24         initSpinner();
25     }
26
27     private void initSpinner() {
28         // 第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项
29         list.add("北京");
30         list.add("上海");
31         list.add("深圳");
32         list.add("南京");
33         list.add("重庆");
34         myTextView = (TextView) findViewById(R.id.TextView_Show);
35         mySpinner = (Spinner) findViewById(R.id.spinner_City);
36         // 第二步:为下拉列表定义一个适配器,这里就用到里前面定义的list。
37         adapter = new ArrayAdapter<String>(this,
38                 android.R.layout.simple_spinner_item, list);
39         // 第三步:为适配器设置下拉列表下拉时的菜单样式。
40         adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
41         // 第四步:将适配器添加到下拉列表上
42         mySpinner.setAdapter(adapter);
43         // 第五步:为下拉列表设置各种事件的响应,这个事响应菜单被选中
44         mySpinner
45                 .setOnItemSelectedListener(new Spinner.OnItemSelectedListener() {
46                     public void onItemSelected(AdapterView<?> arg0, View arg1,
47                             int arg2, long arg3) {
48                         // TODO Auto-generated method stub
49                         /* 将所选mySpinner 的值带入myTextView 中 */
50                         myTextView.setText("您选择的是:" + adapter.getItem(arg2));
51                         /* 将mySpinner 显示 */
52                         arg0.setVisibility(View.VISIBLE);
53                     }
54
55                     public void onNothingSelected(AdapterView<?> arg0) {
56                         // TODO Auto-generated method stub
57                         // myTextView.setText("NONE");
58                         // arg0.setVisibility(View.VISIBLE);
59                     }
60                 });
61     }
62 }
时间: 2024-10-16 02:16:27

Android学习之-----Spinner的相关文章

Android学习——Spinner实现下拉列表

一.Spinner简介 在Web开发中,HTML提供了下拉列表的实现,就是使用<select>元素实现一个下拉列表,在其中每个下拉列表项使用<option>表示即可.这是在Web开发中一个必不可少的交互性组件,而在Android中的对应实现就是Spinner. 在编码的同时,首先需要在布局中设定Spinner组件,然后将可选内容通过ArrayAdapter和下拉列表连接起来,最后要获得用户选择的选项,我们需要设计事件监听器setOnItemSelectedListener并实现on

Android学习笔记之Spinner下拉列表使用案例

(1)两种方法提冲Spinner中的数据源:通过list集合,或者是通过xml文件进行配置 (2)布局代码例如以下: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" andro

android学习---Gallery画廊视图

Gallery与Spinner有共同父类:AbsPinner,说明Gallery与Spinner都是一个列表框.它们之间的区别在于Spinner显示的是一个垂直的列表选择框,而Gallery显示的是一个水平的列表选择框.Spinner的作用是供用户选择,而Gallery则允许用户通过拖动查看上一个,下一个. Gallery用法与Spinner的用法形似,只要为它提供一个内容Adapter就可以了.Adapter的getView方法返回View作为Gallery列表的列表项.如果程序需要监控Gal

《Android学习指南》文件夹

转自:http://android.yaohuiji.com/about Android学习指南的内容分类: 分类 描写叙述 0.学习Android必备的Java基础知识 没有Java基础的朋友,请不要先看Android的课程,这样会非常累. 1.Android学习指南基础篇 对于有Java基础的朋友,能够通过本分类60讲左右的课程,打下比較坚实的基础. 2.Android学习指南项目实训篇 对于学过"1.Android2.2学习指南基础篇"的朋友,能够通过本分类项目的联系,加深对基础

Android学习系列(40)--Android主题和样式之系统篇(下)

Widget样式(Widget Style) 特别说明,此处定义大量的系统内置控件的样式,对于重写原生控件的样式具有很大的参考价值. <!-- Widget styles --> <item name="absListViewStyle">@android:style/Widget.AbsListView</item> <item name="autoCompleteTextViewStyle">@android:st

android学习--视图列表(ListView和ListActivity)

说明: 视图列表(ListView和ListActivity)与AutoComplete.Spinner类似,它们都需要一个供显示的列表项,可以需要借助于内容Adapter提供显示列表项 创建ListView有两种方式: (1)直接使用ListView进行创建 (2)Activity继承ListActivity ListView的常用XML属性 下面分别用两种方式创建ListView 方式一:直接使用ListView进行创建 (1)   main_activity.xml 下面布局两个listV

【转】 Pro Android学习笔记(五二):ActionBar(5):list模式

可以在action bar中加入spinner的下来菜单,有关spinner,可以参考Pro Android学习笔记(二十):用户界面和控制(8):GridView和Spinner. list的样式和theme有关,如果theme设置不正确,还可能会出现异常. 相关的代码如下: public class ListActionBarDemo extends SearchTestCase3 implements OnNavigationListener{ //List触发的回调函数接口    @Ov

【转】 Pro Android学习笔记(二二):用户界面和控制(10):自定义Adapter

目录(?)[-] 设计Adapter的布局 代码部分 Activity的代码 MyAdapter的代码数据源和构造函数 MyAdapter的代码实现自定义的adapter MyAdapter的代码继续探讨BaseAdapter 我们可以同继承抽象类BaseAdapter来实现自己的Adapter,自己设置子View的UI,不同子View可以由不同的布局,并自己进行数据和子view中数据的对应关系.图是例子的呈现结果,我们有很多图标,对这些图标按一定大小进行缩放,然后布局在GridView中.这个

《Android学习指南》目录

源:<Android学习指南>目录 Android学习指南的内容分类: 分类 描述 0.学习Android必备的Java基础知识 没有Java基础的朋友,请不要先看Android的课程,这样会很累. 1.Android学习指南基础篇 对于有Java基础的朋友,可以通过本分类60讲左右的课程,打下比较坚实的基础. 2.Android学习指南项目实训篇 对于学过“1.Android2.2学习指南基础篇”的朋友,可以通过本分类项目的联系,加深对基础知识的理解和熟练运用. 3.Android学习指南提