1 简介:

Spinner相当于下拉列表,每一个下拉项都可以供用户选择。Spinner可以是弹出对话框模式,也可以是当前页面显示。

2 效果图:

左图:android:spinnerMode="dropdown";    右图:android:spinnerMode="dialog"

默认情况下,采用的是

android:spinnerMode="dropdown"

3 代码:

(1)布局文件:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"><TextViewandroid:id="@+id/hello_textview"android:layout_width="wrap_content"android:layout_height="wrap_content"android:maxLength="500"android:text="城市" /><Spinnerandroid:id="@+id/spinner"android:layout_width="match_parent"android:layout_height="wrap_content"android:spinnerMode="dropdown"/>
</LinearLayout>

(2)java代码(SpinnerActivity.java):

package com.test.myglibtestapp;import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.SpinnerAdapter;
import android.widget.Toast;public class SpinnerActivity extends Activity {private static final String TAG = "SpinnerActivity";private Spinner mSpinner;private SpinnerAdapter adapter=null;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_spinner_test);initView();setClickEvent();}private void initView(){mSpinner= findViewById(R.id.spinner);adapter= ArrayAdapter.createFromResource(this,R.array.cities,android.R.layout.simple_spinner_dropdown_item);mSpinner.setAdapter(adapter);}private void setClickEvent() {mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> adapterView, View view, int pos, long id) {String[] cityStrs = getResources().getStringArray(R.array.cities);Log.i(TAG, "onItemSelected pos:" + pos);Toast.makeText(SpinnerActivity.this,cityStrs[pos],Toast.LENGTH_LONG).show();}@Overridepublic void onNothingSelected(AdapterView<?> adapterView) {}});}}

说明:

(1)setOnItemSelectedListener是Spinner的事件监听器,在onItemSelected方法中,进行事件的处理。

(2)默认情况下,最开始显示的是数组的第一项;

可以用setSelection(position); 来设置显示的item;

运行结果:

log:选择广州,会Toast“广州”,logcat输出如下:

12:08:05.034 16774-16774/? I/SpinnerActivity: onItemSelected pos:2

运行结果截图:

因为pos为2的就是数组中的第三个值,即广州。


Android开发-Spinner控件的使用,spinner设置默认选项相关推荐

  1. android开发重要控件,Android界面编程——Android基本控件

    Android界面编程 Android应用开发的一项重要内容就是界面开发.对于用户来说,不管APP包含的逻辑多么复杂,功能多么强大,如果没有提供友好的图形交互界面,将很难吸引最终用户. 作为一个程序员 ...

  2. Android开发-列表控件

    列表控件是Android中最常见的控件之一 由于手机屏幕空间都比较有限,能够一次性在屏幕上显示的内容并不多,当我们的程序中有大量的数据需要展示的时候,就可以借助各种列表控件来实现. <ListV ...

  3. Android开发CheckBox控件,全选,反选,取消全选

    在Android开发中我们经常会使用CheckBox控件,那么怎么实现CheckBox控件的全选,反选呢 首先布局我们的界面: <?xml version="1.0" enc ...

  4. 【按住你的心】——Android开发CheckBoxRadioButton控件的简单使用

    Android的控件很多,我们从最常用的一些控件学起,今天我们学习CheckBox和RadioButton. 首先,我们要在main.xml文件中添加控件: <?xml version=&quo ...

  5. Android开发——RadioButton控件

    一,简介 RadioButton(单选按钮) 如题单选按钮,就是只能够选中一个,所以我们需要把RadioButton放到RadioGroup按钮组中,从而实现 单选功能!先熟悉下如何使用RadioBu ...

  6. Android之UI控件

    本文主要包括以下内容 Spinner的使用 Gallery的使用 Spinner的使用 Spinner的实现过程是 1. 在xml文件中定义Spinner的控件 2. 在activity中获取Spin ...

  7. Android的Spinner控件解决默认选中第一条问题

    如下,有两个Spinner控件,一个默认,一个设置为不可见并不占用空间 <Spinnerandroid:id="@+id/spinner"android:layout_wid ...

  8. Spinner控件详解

    Spinner控件详解 效果图 修改Spinner样式 在介绍之前,先看一下系统原生的样式 6.x & 5.x系统样式 4.x系统样式 官方文档 XML属性 方法 描述 android:dro ...

  9. Android游戏开发系统控件-CheckBox

    Android游戏开发系统控件-CheckBox 2012/5/11 星期五 CheckBox是Android系统最普通的UI控件,继承了Button按钮 下面通过一个实例来学习 作者:wwj 功能: ...

  10. Android游戏开发系统控件-Dialog

    Android游戏开发系统控件-Dialog Dialog(对话框)在Android应用开发中经常用到,下面是学习<Android游戏编程从零开始>一书,关于Dialog的初步学习. 创建 ...

最新文章

  1. 转:delphi异常捕获try except语句 和 try finally语句用法
  2. Lyft估值目标近200亿美元 有望成今年来美国最大IPO
  3. Spring Cloud微服务实战pdf
  4. WM_CHAR、WM_KEYDOWN和WM_SYSKEYDOWN消息
  5. 皮一皮:美甲的最高境界...
  6. linux之find命令详解
  7. 与AI大牛面对面:人工智能机器人,助手还是终结者?| 活动报名
  8. MyEclipse设置像visual studio一样的智能提示
  9. ES6—类的实现原理
  10. 安装win10的笔记本有10个地方需要微调
  11. cygwin sshd服务启动不了的解决方案(转)
  12. JVM篇2:[-加载器ClassLoader-]
  13. clone oracle ebs
  14. 惠普HP Laser 108a 打印机驱动
  15. 财务报表java_财务报表识别
  16. 百度地图显示车辆运行轨迹(动态轨迹回放功能)
  17. 关于遍历,看这篇文章就足够了【find()、findIndex()、forEach()、splice()、slice()详解】...
  18. XXL-JOB 分布式任务调度 详解
  19. 根据LocalDate或者DateUtils计算两个日期之间的天数差
  20. UI设计师怎样提升品牌能力?

热门文章

  1. java计算机毕业设计WEB儿童运动馆业务信息系统源码+数据库+系统+lw文档
  2. 计算机类研究生面试英文自我介绍,关于计算机保研面试英文自我介绍
  3. [原创][更新]我的第二本电子书: 英语长难句-宝典 2018年07月09日
  4. Arishmoon Tony的高考素材本.1
  5. uni-app小程序退出当前小程序/app
  6. 麓言科技UI动效设计大全,设计不再愁
  7. ThinkPHP5.0利用路由规则隐藏后台admin登录地址
  8. 计算机键盘乱打学,怎么样能快速地背下来电脑键盘哇??? 在学盲打 要怎么记?是要分别记住每个手指头负责哪些字母吗?呜呜呜...
  9. 实践出真理:2009年各大网店系统比较分析
  10. unity 接入leapmotion教程 一 安装