课程目标
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. Oracle 外键约束子表、父表

    CREATE TABLE employees(     employee_id      NUMBER(6),     last_name        VARCHAR2(25) NOT NULL, ...

  2. Winform中导入exicel文件

    Microsoft.Office.Interop.Excel.Application excel = new Microsoft.Office.Interop.Excel.Application(); ...

  3. Python3分别将list、numpy数组内容写入txt文件中

    1.python保存numpy数据: numpy.savetxt("result.txt", numpy_data) 2.保存list数据: file=open('data.txt ...

  4. Qt Quick的国际化和本地化

    国际化您的应用程序 以下部分描述了国际化QML源代码的各个方面.如果您对应用程序中的所有用户界面组件都遵循这些指南,则可以针对不同语言和本地文化约定(例如日期和数字的格式化方式)本地化应用程序的各个方 ...

  5. rails下mysql出错问题mysql_api,blog/text

    问题一:提示出错:cannot load such file -- mysql/mysql_api (LoadError) 此时我们回来看gem install mysql 时提示 At the ti ...

  6. hadoop错误之ClassNotFoundException(下)

    hadoop开发环境:window上eclipse+虚拟机的ubuntu13.04+hadoop-1.1.2+JDK1.7 在win7下运行hadoop-1.1.2 worldcount代码的时候出现 ...

  7. 16 款最流行的JavaScript 框架

    1. jQuery – Javascript框架 jQuery 是最流行的 JavaScript 框架,它简化了HTML 文档遍历.事件处理.动画和Ajax交互.jQuery插件非常之多. 2. Do ...

  8. 关于Cocos2d-x中数据的存储

    当局分数的打印和最高分数的记录 1.首先定义一个Label类型的节点在GameScene.cpp的init方法中,设置初始分数为0 _myScore = 0; scorelabel = Label:: ...

  9. am335x watchdog

    am335x watchdog 内核文档kernel/Documentation/watchdog Qt@aplex:~/kernel/7109/linux-3.2.0/Documentation/w ...

  10. new/delete 的使用要点

    运算符 new 使用起来要比函数 malloc 简单得多,例如: int *p1 = (int *)malloc(sizeof(int) * length); int *p2 = new int[le ...