第21章、OnItemSelectedListener事件(从零开始学Android)
在Android App应用中,OnItemSelectedListener事件也会经常用到,我们一起来了解一下。
基本知识点:OnItemSelectedListener事件
一、界面
1、新建province.xml件。
在“res/values”位置新建province.xml文件。
(1)province.xml文件位置如下图所示:

(2)province.xml内容如下:

(3)代码
- <?xml version="1.0" encoding="utf-8"?>
- <resources>
- <string-array name="provarray">
- <item>河南省</item>
- <item>河北省</item>
- <item>山东省</item>
- <item>山西省</item>
- </string-array>
- </resources>
2、打开“res/layout/activity_main.xml”文件。
(1)分别从工具栏向activity拖出1个下拉列表框Spinner。控件来自Form Widgets。

(2)打开activity_main.xml文件。
- <RelativeLayout 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"
- tools:context=".MainActivity" >
- <Spinner
- android:id="@+id/province"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:layout_alignParentLeft="true"
- android:layout_alignParentTop="true"
- android:entries="@array/provarray" />
- </RelativeLayout>
3、界面如下

二、OnItemSelectedListener事件
1、打开“src/com.genwoxue.onitemselected/MainActivity.java”文件。
然后输入以下代码:
- package com.genwoxue.onitemselected;
- import android.os.Bundle;
- import android.app.Activity;
- import android.view.View;
- import android.widget.Spinner;
- import android.widget.Toast;
- import android.widget.AdapterView;
- import android.widget.AdapterView.OnItemSelectedListener;
- public class MainActivity extends Activity {
- //声明Spinner对象
- private Spinner spinProvince=null;
- @Override
- protected void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.activity_main);
- //获取Spinner
- spinProvince=(Spinner)super.findViewById(R.id.province);
- //注册OnItemSelected事件
- spinProvince.setOnItemSelectedListener(new ProvOnItemSelectedListener());
- }
- //OnItemSelected监听器
- private class ProvOnItemSelectedListener implements OnItemSelectedListener{
- @Override
- public void onItemSelected(AdapterView<?> adapter,View view,int position,long id) {
- //获取选择的项的值
- String sInfo=adapter.getItemAtPosition(position).toString();
- Toast.makeText(getApplicationContext(), sInfo, Toast.LENGTH_LONG).show();
- }
- @Override
- public void onNothingSelected(AdapterView<?> arg0) {
- String sInfo="什么也没选!";
- Toast.makeText(getApplicationContext(),sInfo, Toast.LENGTH_LONG).show();
- }
- }
- }

2、最终效果如下:

第21章、OnItemSelectedListener事件(从零开始学Android)的更多相关文章
- 第23章、OnFocuChangeListener焦点事件(从零开始学Android)
在Android App应用中,OnFocuChangeListener焦点事件是必不可少的,我们在上一章的基础上来学习一下如何实现. 基本知识点:OnFocuChangeListener事件 一 ...
- 第24章、OnLongClickListener长按事件(从零开始学Android)
在Android App应用中,OnLongClick事件表示长按2秒以上触发的事件,本章我们通过长按图像设置为墙纸来理解其具体用法. 知识点:OnLongClickListener OnLongCl ...
- 从零开始学android开发-View的setOnClickListener的添加方法
1)第一种,也是最长见的添加方法(一下都以Button为例) Button btn = (Button) findViewById(R.id.myButton); btn .setOnClickLis ...
- 从零开始学android -- Service
废话不多说了,Service是四大组件之一,是一个后台处理长时间运行在主线程不需要依赖ui界面显示的应用组件,切记不能在service中做耗时操作,会阻塞主线程,要做也要在service中开个子线程做 ...
- 从零开始学android开发-项目打包发布
右键项目 选择[android tools]-[export signed application package] 点击[next] 如果没有keystore可以选择[create new keys ...
- 从零开始学android开发-adt-bundle-eclipse下的修改android app名称
eclipse中,打开项目根目录中的AndoirManifest.xml文件,找到如下内容 <application android:allowBackup="true" a ...
- 从零开始学android开发-通过WebService进行网络编程,使用工具类轻松实现
相信大家在平常的开发中,对网络的操作用到HTTP协议比较多,通过我们使用Get或者Post的方法调用一个数据接口,然后服务器给我们返回JSON格式的数据,我们解析JSON数据然后展现给用户,相信很多人 ...
- 从零开始学android开发-通过WebService获取今日天气情况
因为本身是在搞.NET方面的东东,现在在学习Android,所以想实现Android通过WebService接口来获取数据,网上很多例子还有有问题的.参考:Android 通过WebService进行 ...
- 从零开始学android开发-布局中 layout_gravity、gravity、orientation、layout_weight
线性布局中,有 4 个及其重要的参数,直接决定元素的布局和位置,这四个参数是 android:layout_gravity ( 是本元素相对于父元素的重力方向 ) android:gravity (是 ...
随机推荐
- Python Hashlib笔记
#python3.4hashlib module - A common interface to many hash functions.hash.digest() - Return the dige ...
- Errors occurred during the build. Errors running builder 'JavaScript Validator'
选择一个项目--右键Properties--Builders--取消第2个"JavaScript Validator"的勾就OK了.
- PAT Basic 1036
1036 跟奥巴马一起编程 美国总统奥巴马不仅呼吁所有人都学习编程,甚至以身作则编写代码,成为美国历史上首位编写计算机代码的总统.2014年底,为庆祝“计算机科学教育周”正式启动,奥巴马编写了很简单的 ...
- 安卓启动图去除顶部title和状态栏
1.在启动页的xml配置中,设置layout的id, <?xml version="1.0" encoding="utf-8"?> <Line ...
- awk支持多个记录分隔符的写法
awk的-F参数可以指定新的记录分隔符,有些时候可能需求指定多个分隔符,比如下面的内容 width:720 height:360 如果需要取出width和height后面的值的话,一般大家会这样做,即 ...
- Cookie测试的测试点
1.禁止使用Cookie:设置浏览器禁止使用Cookie,访问网页后,检查存放Cookie文件中未生成相关文件: 2.Cookie寻出路径:按照操作系统和浏览器对Cookie存放路径的设置,检查存放路 ...
- [android开发篇] android apidemo 学习网址
http://www.2cto.com/special/ApiDemos/ApiDemos/type-160-10.html
- PTA 08-图9 关键活动 (30分)
题目地址 https://pta.patest.cn/pta/test/15/exam/4/question/719 假定一个工程项目由一组子任务构成,子任务之间有的可以并行执行,有的必须在完成了其它 ...
- 九度oj 题目1340:小A的计算器
题目描述: 以往的操作系统内部的数据表示都是二进制方式,小A新写了一个操作系统,系统内部的数据表示为26进制,其中0-25分别由a-z表示. 现在小A要在这个操作系统上实现一个计算器,这个计算器要能实 ...
- 【bzoj3231】[Sdoi2008]递归数列 矩阵乘法+快速幂
题目描述 一个由自然数组成的数列按下式定义: 对于i <= k:ai = bi 对于i > k: ai = c1ai-1 + c2ai-2 + ... + ckai-k 其中bj和 cj ...