课程目标
1.了解Spinner下拉列表的使用和功能
2.学会使用系统默认的Spinner
3.学会使用自定义样式的Spinner

执行步骤
第一步:添加一个下拉列表项的list,这里添加的项就是下拉列表的菜单项
private List<String> list = new ArrayList<String>();
list.add("背景");
list.add("上海");
list.add("广州");
list.add("深圳");
第二步:为下拉列表定义一个数组适配器(ArrayAdapter),这里就用到了前面定义的list。
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
 ------> 定义适配器,添加数据源
第三步:为适配器设置下拉列表下拉时的菜单样式。
adapter.setDropDownResource(android.R.layout.simple_spinner_dropdown_item);
第四步:将适配器添加到下拉列表上 --> Spinner加载适配器
mySpinner.setAdapter(adapter);
第五步:为下拉列表设置各种时间的响应,这个事件响应菜单被选中
mySpinner.setOnItemSelectedListener(new Spinner.OnItemSelectedListener())
  --> 为Spiner设置监听器

使用adapter.getItem(position)可以获得城市名(当然在这个程序中也可以通过list.get(position)获得城市名)。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
> <TextView
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="25sp"
android:textColor="#FF00FF"
/> <Spinner
android:id="@+id/spinner1"
android:layout_width="match_parent"
android:layout_height="wrap_content" /> </LinearLayout>

activity_main.xml

package com.example.spinner;

import java.util.ArrayList;
import java.util.List; import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
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 MainActivity extends ActionBarActivity implements OnItemSelectedListener { private TextView textView;
private Spinner spinner;
private ArrayAdapter<String> arrayAdapter; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); textView = (TextView) findViewById(R.id.textView1);
textView.setText("您选择的城市是北京");
spinner = (Spinner) findViewById(R.id.spinner1);
List<String> list = new ArrayList<String>();
for (String s : new String[] { "北京", "上海", "广州", "杭州" })
list.add(s);
arrayAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);
arrayAdapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
spinner.setAdapter(arrayAdapter);
spinner.setOnItemSelectedListener(this);
} @Override
public void onItemSelected(AdapterView<?> parent, View view, int position,
long id) {
String cityName = arrayAdapter.getItem(position);
textView.setText("您选择的城市是" + cityName);
} @Override
public void onNothingSelected(AdapterView<?> parent) { }
}

MainActivity.java

效果:

Android 使用Spinner实现下拉列表的更多相关文章

  1. Android:控件Spinner实现下拉列表

    在Web开发中,HTML提供了下拉列表的实现,就是使用<select>元素实现一个下拉列表,在其中每个下拉列表项使用<option>表示即可.这是在Web开发中一个必不可少的交 ...

  2. 【转】Android中Spinner下拉列表(使用ArrayAdapter和自定义Adapter实现)

    原文网址:http://embed.21ic.com/software/android/201403/31603.html 1 :Android中Spinner下拉列表(使用ArrayAdapter和 ...

  3. 【转】Android:控件Spinner实现下拉列表

    原文网址:http://www.cnblogs.com/tinyphp/p/3858920.html 在Web开发中,HTML提供了下拉列表的实现,就是使用<select>元素实现一个下拉 ...

  4. 【Android】Spinner使用

    Spinner:下拉列表,主要用于显示一些选项供用户选择,类似PC应用程序里面的Combobox. 使用Spinner需要以下条件: 1.一个 Spinner 控件 2.数据 3.一个Adapter ...

  5. android 开发-spinner下拉框控件的实现

    Android提供实现下拉框功能的非常实用的控件Spinner. spinner控件需要向xml资源文件中添加spinner标签,如下: <Spinner android:id="@+ ...

  6. Xamarin.Android之Spinner的简单探讨

    一.前言 今天用了一下Spinner这个控件,主要是结合官网的例子来用的,不过官网的是把数据写在Strings.xml中的, 某种程度上,不是很符合我们需要的,比较多的应该都是从数据库读出来,绑定上去 ...

  7. Android组件Spinner使用

    Spinner组件是Android当中非常常用的一种用于下拉选择的组件. 本blog当中主要解决的几个问题: 如何在XML中初始化Spinner选项 如何使用代码的方式初始化Spinner选项 一个A ...

  8. android 之 spinner的简单使用

    先看spinner的效果图: 代码: MainActivity package com.mecury.spinnertest; import java.util.ArrayList; import a ...

  9. 在android的spinner中,实现取VALUE值和TEXT值。 ZT

    在android的spinner中,实现取VALUE值和TEXT值.   为了实现在android的 spinner实现取VALUE值和TEXT值,我尝试过好些办法,在网上查的资料,都是说修改适配器, ...

随机推荐

  1. 海量数据mysql优化步骤

    第一优化你的sql和索引: 第二加缓存,memcached,redis: 第三以上都做了后,还是慢,就做主从复制或主主复制,读写分离,可以在应用层做,效率高,也可以用三方工具,第三方工具推荐360的a ...

  2. 用lua实现ByteArray和ByteArrayVarint

    许多 Actionscript 程序员已经从 Flash 转到 Cocos2d-x 了.那么以前的那些超级好用的类库都不见了,只好重新来过. 我利用 Lua 和 lpack 库实现了一套 lua版本的 ...

  3. 关于那些常见的坑爹的小bug(会持续更新)

    当我学了矩阵分析的时候我知道什么是麻烦,当我学了傅里叶级数的时候我知道什么是相当麻烦. 然而,当我刚刚接触前端,我才明确什么叫做坑爹的ie6.这个分享对于经验丰富的前端基本都遇过.对于刚入行的新手,也 ...

  4. Logrotate日志轮巡missingok: 在日志轮循期间,任何错误将被忽略

    Linux日志文件总管——logrotate 编译自:http://xmodulo.com/2014/09/logrotate-manage-log-files-linux.html          ...

  5. golang中map并发读写问题及解决方法

    一.map并发读写问题 如果map由多协程同时读和写就会出现 fatal error:concurrent map read and map write的错误 如下代码很容易就出现map并发读写问题 ...

  6. 安装版的tomcat微信支付时报2字节的UTF-8序列的字节2无效

  7. js学习笔记20----addClass,removeClass函数封装

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  8. [从jQuery看JavaScript]-注释(comments)

    jQuery片段: /*! * jQuery JavaScript Library v1.3.2 * http://jquery.com/ * * Copyright (c) 2009 John Re ...

  9. 消息中间件系列之Java API操作ActiveMQ

    一.依赖 <dependency> <groupId>org.apache.activemq</groupId> <artifactId>activem ...

  10. Hbase rowkey设计一

    转自 http://blog.csdn.net/lifuxiangcaohui/article/details/40621067 hbase所谓的三维有序存储的三维是指:rowkey(行主键),col ...