android:Spinner控件的使用

1.效果图

2.创建页面文件(main.xml)

<Spinner

android:id="@+id/spinner1"

android:layout_width="match_parent"

android:layout_height="wrap_content" />

<TextView

android:id="@+id/tvResult"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:text="选择的水果" />

3.创建下拉框的数据源

List<String> list = new ArrayList<String>();

list.add("苹果");

list.add("香蕉");

list.add("橘子");

list.add("香蕉");

4.创建适配器(下拉框的数据源是来自适配器)

ArrayAdapter<String> adapter=new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item,list);

5.为适配器添加样式

      adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

6.向控件Spinner添加适配器

Spinner sp=(Spinner) findViewById(R.id.spinner1);

sp.setAdapter(adapter);

释义

1. setAdapter(SpinnerAdapter adapter) ,从类的继承关系上看,ArrayAdapter是SpinnerAdapter接口的间接实现类

7.实现选择项事件(使用匿名类实现接口)

sp.setOnItemSelectedListener(new OnItemSelectedListener() {

// parent: 为控件Spinner view:显示文字的TextView position:下拉选项的位置从0开始

public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

TextView tvResult = (TextView) findViewById(R.id.tvResult);

//获取Spinner控件的适配器

ArrayAdapter<String> adapter = (ArrayAdapter<String>) parent.getAdapter();

tvResult.setText(adapter.getItem(position));

}

//没有选中时的处理

public void onNothingSelected(AdapterView<?> parent) { }

});

8.后台整体代码如下

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

List<String> list = new ArrayList<String>();

list.add("苹果");

list.add("香蕉");

list.add("橘子");

list.add("香蕉");

ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_spinner_item, list);

adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

Spinner sp = (Spinner) findViewById(R.id.spinner1);

sp.setAdapter(adapter);

sp.setOnItemSelectedListener(new OnItemSelectedListener() {

// parent: 为控件Spinner view:显示文字的TextView position:下拉选项的位置从0开始

public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {

TextView tvResult = (TextView) findViewById(R.id.tvResult);

//获取Spinner控件的适配器

ArrayAdapter<String> adapter = (ArrayAdapter<String>) parent.getAdapter();

tvResult.setText(adapter.getItem(position));

}

//没有选中时的处理

public void onNothingSelected(AdapterView<?> parent) {

}

});

}

时间: 2024-11-10 01:22:48

android:Spinner控件的使用的相关文章

Android——spinner控件实现读取xml资源,省、市两级互动

(1)首先在res文件夹下面的values中创建一个省市arrays.xml文件夹,如下 <?xml version="1.0" encoding="utf-8"?> <resources> <string-array name="province"> <item>-省份-</item> <item>河北省</item> <item>山西省</i

Android spinner控件

spinner控件是Android中下拉控件,现在介绍它两种用法.第一种,从资源文件中获取下拉值:第二种,从代码中获取下拉值. 第一种,首先要在资源文件中把值写好: <?xml version="1.0" encoding="utf-8"?> <resources> <string name="app_name">spinner</string> <string name="acti

Android Spinner控件详解

Spinner 类图 android.widget 类 Spinner java.lang.Object android.view.View android.view.ViewGroup android.widget.AdapterView<SpinnerAdapter> android.widget.AbsSpinner android.widget.Spinner Spinner 意指下拉列表组件. 以下为android官网文档内容. 布局文件中加入Spinner元素标签 <Spin

Android Spinner控件数据绑定

Java代码

android 学习 Spinner控件的使用

今晚看了下spinner控件的使用,结合博客大神的教程,一个小demo 一,SpinnerActivity private Spinner spinner; private ArrayAdapter<String> adapter; private List<String> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

Android Studio中Spinner控件的数据绑定实现

这里介绍使用集合在程序中为Spinner控件设定数据源,步骤如下: 1.在Android Studio界面中,选择"Project",然后展开"app"->"res"->"layout",打开activity_main.xml,添加一个Spinner控件,代码如下: <Spinner android:id="@+id/eduSpinner" android:layout_width=&qu

android控件开发之Spinner控件

android控件开发之Spinner控件 概述:android中,Spinner控件主要是用来显示下拉列表,同时,用户可以选择列表中的数据,作为当前的选择 java代码: 此代码中使用了两种方法给Spinner提供数据(method 1和method 2).运行时任选其一即可 方法一: 使用的动态list的形式给Spinner提供数据 方法二: 使用的Strings.xml中定义的固定String array提供数据 根据项目需要,选择相关方法即可 package com.example.sp

关于Android PopupWindow中实用Spinner控件点击APP Crash情况整理!

场景异常信息如下: android.view.WindowManager$BadTokenException: Unable to add window -- token [email protected] is not valid; is your activity running? at android.view.ViewRootImpl.setView(ViewRootImpl.java:646) at android.view.WindowManagerGlobal.addView(Wi

Android开发之Spinner控件使用

之前博客中已经介绍了Spinner控件的数据绑定,地址在:http://blog.csdn.net/zdw_wym/article/details/50000357,本篇将介绍Spinner的事件监听器:OnItemSelectedListener . Spinner组件的主要功能是用于进行下拉列表的显示,当用户选中下拉列表中的某个选项后可以使用Spinner类提供的setOnItemSelectedListener()方法进行监听. 在这之前让我们首先了解一下OnItemSelectedLis