在布局Layout文件中定义Spinner:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> <!-- 定义Spinner -->
<Spinner
android:id="@+id/spinner"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"></Spinner> </LinearLayout>

设置数据方面,可以把Spinner下拉列表控件想象成ListView

绑定数据与监听的代码:

package liudeli.ui.all;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.SpinnerAdapter;
import android.widget.Toast; import java.util.ArrayList;
import java.util.List; public class SpinnerActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_spinner); Spinner spinner = findViewById(R.id.spinner); // 组装数据
final List<String> data = new ArrayList<>();
for (int i=0; i< 30; i++) {
data.add("下拉列表控件Spinner" + i);
} SpinnerAdapter spinnerAdapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1,
android.R.id.text1,
data);
// 设置数据方面,可以把Spinner下拉列表控件想象成ListView
spinner.setAdapter(spinnerAdapter); // 给Spinner设置监听
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() { /**
* 选择条目Item会调用此方法
* @param parent
* @param view
* @param position
* @param id
*/
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
alertToast(data.get(position));
} @Override
public void onNothingSelected(AdapterView<?> parent) {
/**
* 这个一直没有触发,我也不知道什么时候被触发。
* 在官方的文档上说明,为back的时候触发,但是无效,可能需要特定的场景
*/
alertToast("onNothingSelected 这个方法从未调用过,实际作用不大");
}
});
} private void alertToast(String text) {
Toast.makeText(this, text, Toast.LENGTH_LONG).show();
}
}

效果:

Android-Spinner下拉列表的更多相关文章

  1. Android Spinner 下拉列表

    private Spinner spinner ;         private List<String> list ;         private ArrayAdapter< ...

  2. Android之Socket通信、List加载更多、Spinner下拉列表

    Android与服务器的通信方式主要有两种,一是Http通信,一是Socket通信.两者的最大差异在于,http连接使用的是“请求—响应方式”,即在请求时建立连接通道,当客户端向服务器发送请求后,服务 ...

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

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

  4. 安卓开发16:Spinner 下拉列表控件

    Spinner 下拉列表控件 创建一个activity_main.xml文件: <RelativeLayout xmlns:android="http://schemas.androi ...

  5. Xamarin android spinner的使用方法

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  6. Android Spinner 下拉框简单应用 详细注解

    目录 Android Spinner 代码部分 Spinner代码介绍 核心代码 说在最后 @ Android Spinner Spinner 提供下拉列表式的输入方式,该方法可以有效节省手机屏幕上的 ...

  7. android Spinner 续

    android Spinner 续 动态增删Spinner中的数据项 public class EX04_09 extends Activity{  private static final Stri ...

  8. Android spinner 样式及其使用详解

    设计与开发首页 > 应用专题 > 移动开发 > 正文> Android spinner 样式及其使用详解 相关文章: Android 开源项目应用程序与框架推荐 Android ...

  9. Android Spinner In Toolbar

    As the title of the post suggest in this tutorial we will see how to have spinner widget inside the ...

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

    今天学习了Spinner组件,使用Spinner相当于从下拉列表中选择项目,下面演示一下Spinner的使用(分别使用ArrayAdapter和自定义Adapter实现) (一):使用ArrayAda ...

随机推荐

  1. C#开发之反射的简单使用

    奋斗的蘑菇 原文C#开发之反射的简单使用 以前在Windows Mobile中写过一个写好的Dll中的图片的例子,现在在项目中有接触到在一个大的窗体中,动态的加载一些窗体这样的需求.将功能按照模块的划 ...

  2. Halcon学习之八:图像区域叠加与绘制

    版权声明:本文为博主原创文章,未经博主允许不得转载. overpaint_gray ( ImageDestination, ImageSource : : : )  将灰度值不相同区域用不同颜色绘制到 ...

  3. leetcode680

    class Solution { public: bool validPalindrome(string s) { int len = s.length(); ) return true; , len ...

  4. vagrant+docker搭建consul集群开发环境

    HashiCorp 公司推出的Consul是一款分布式高可用服务治理与服务配置的工具.关于其配置与使用可以参考这篇文章 consul 简介与配置说明. 一般,我们会在多台主机上安装并启动 consul ...

  5. 关于c3p0 ResourcePoolException: Attempted to use a closed or broken resource pool

    转自:https://blog.csdn.net/u011404265/article/details/52848603 springmvc-servlet.xml加入 <property na ...

  6. Linux下的service命令和chkconfig命令的原理

    CentOS下的service命令和chkconfig命令的原理 1.service命令的原理 service命令用来对服务进行启动和关闭,比如service mysqld start可以启动mysq ...

  7. Python与Go插入排序

    #!/usr/bin/env python # -*- coding: utf-8 -*- # 插入排序 # 时间复杂度 O(n^2) import time def logger(func): st ...

  8. Linux实战教学笔记19:Linux相关网络知识梳理

    第十九节 Linux相关网络知识梳理 标签(空格分隔): Linux实战教学笔记-陈思齐 一,前言 一个运维有时也要和网络打交道,所以具备最基本的网络知识,对一个运维人员来说是必要的.但,对于我们的工 ...

  9. Fedora下安装Scrapy遇到的两个问题

    error:/usr/lib/rpm/redhat/redhat-hardened-cc1: No such file or directory 需要安装redhat-rpm-config sudo ...

  10. SaltStack 运行机理特点

    SaltStack 运行机理特点 1.实时通讯(REAL-TIME COMMUNICATION) 所有 Salt minions 接收命令都是同时的,这意味着控制 10 个或者 10000 个系统所消 ...