在布局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. 使用PowerMap生成地图图文

    地区    GDP(亿)广东省    80854江苏省    77388山东省    68024浙江省    47251河南省    40471四川省    32934湖北省    32665河北省  ...

  2. JS倒计时,自动提交表单!

    <form id="frm" action="http://www.baidu.com"> 考试还剩余<div id="time&q ...

  3. vertex shader(3)

    之前我们学习了如何声明顶点着色器.如何设置常量寄存器中的常量.接下来我们学习如何写和编译一个顶点着色器程序. 在我们编译一个顶点着色器之前,首先需要写一个. 有17种不同的指令(instruction ...

  4. linux磁 盘分区 挂载

    f命令查看磁盘的分区和已经使用量 利用du命令查询当前目录下的所有目录/文件所占的容量 dumpe2fs查看分区的具体使用情况 磁盘的分区–命令fdisk fdisk /dev/sda 进入这个设备m ...

  5. Delphi数据库的三层架构的问题和解决方法

    Delphi数据库的三层架构的问题和解决方法 原创 2014年03月26日 16:26:03 标签: Delphi / 数据库三层架构 / DCOM / DCOMConnection 790 //-- ...

  6. delphi 三层架构简单例子(经测试成功)

    delphi 三层架构简单例子(经测试成功) 转载 2013年12月19日 09:48:57 1100 所谓三层: (1) 客户端 (2) 服务器端 (3) 数据库 在数据访问时,使得客户端必须通过服 ...

  7. MyBatis 与 Hibernate对比

  8. 二维码生成插件qrious及网站扫码登录的一些理解

    什么是二维码 ​ 二维码又称QR Code,QR全称Quick Response,是一个近几年来移动设备上超流行的一种编码方式,它比传统的Bar Code条形码能存更多的信息,也能表示更多的数据类型. ...

  9. poj1067-取石子游戏 (威佐夫博弈)

    http://poj.org/problem?id=1067 取石子游戏 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 36 ...

  10. APP安全之代码混淆防止反编译查看真实的头文件函数声明

    现在有的公司对自己的爱屁屁(APP)安全上有重视,所以本篇讲一下代码混淆,即使别人反编译出来,也看不出来头文件的信息. 上菜: 1.首先安装class-dump,下载地址:http://steveny ...