一、界面

   1、新建province.xml件。

  在“res/values”位置新建province.xml文件。

  (1)province.xml文件位置如下图所示:

  

  (2)province.xml内容如下:  

  

  (3)代码  

  1. <?xmlversion="1.0"encoding="utf-8"?>

  2. <resources>

  3. <string-arrayname="provarray">

  4. <item>河南省</item>

  5. <item>河北省</item>

  6. <item>山东省</item>

  7. <item>山西省</item>

  8. </string-array>

  9. </resources>

(4)main_activity布局文件

<LinearLayout 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"
android:background="@drawable/liuyifei"
tools:context=".MainActivity" > <Spinner
android:id="@+id/province"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:entries="@array/province" /> <Spinner
android:id="@+id/city"
android:layout_width="wrap_content"
android:layout_height="wrap_content" /> </LinearLayout>

(5)Activity(src下的Java代码)

package com.example.item2jiliandong;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.Toast; public class MainActivity extends Activity { //声明Spinner对像
private Spinner spinProvince=null;
private Spinner spinCity=null;
//定义城市数据,用于二级菜单
private String[][] arrCity=new String[][]{
{"郑州","开封","洛阳","安阳"},
{"石家庄","保定","邯郸","张家口"},
{"济南","青岛","烟台","日照"},
{"太原","晋中","吕梁","临汾"}};
//声明数组适配器,用来填充城市列表
private ArrayAdapter<CharSequence> adapterCity=null; @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获取Spinner对象
spinProvince=(Spinner)super.findViewById(R.id.province);
spinCity=(Spinner)super.findViewById(R.id.city);
//为spinProvince控件注册OnItemSelected监听器
spinProvince.setOnItemSelectedListener(new ProvOnItemSelectedListener());
//为spinCity控件注册OnItemSelected监听器
spinCity.setOnItemSelectedListener(new CityOnItemSelectedListener());
} //OnItemSelected监听器
private class ProvOnItemSelectedListener implements OnItemSelectedListener{
//选择省份,触发城市下拉列表框
@Override
public void onItemSelected(AdapterView<?> adapter,View view,int position,long id) {
//使用ArrayAdapter转换数据
MainActivity.this.adapterCity=new ArrayAdapter<CharSequence>(
MainActivity.this,
android.R.layout.simple_spinner_item,
MainActivity.this.arrCity[position]);
//使用adapterCity数据适配器填充spinCity
MainActivity.this.spinCity.setAdapter(MainActivity.this.adapterCity); } @Override
public void onNothingSelected(AdapterView<?> arg0) {
//没有选择时执行
}
}
//OnItemSelected监听器
private class CityOnItemSelectedListener 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(); //MainActivity.this等价于 getApplicationContext()
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
//没有选择时执行
}
} }

(6)运行结果

运行运用程序所得结果如下图:

OnItemSelectedListener事件与二级联动的更多相关文章

  1. android中利用实现二级联动的效果

    按照惯例,首先上一张效果图. 本篇文章实现的效果就是如图中所圈的那样,实现类似于HTML中的二级联动的效果. 对于第一个选项我们读取的是本地xml文件来填充数据的, 对于第二个选项我们读取的是通过中央 ...

  2. Android之单复选框及Spinner实现二级联动

    一.基础学习 1.图形学真的很神奇啊....查了些资料做出了3D云标签,哈哈...其实直接拿来用的,我们要效仿鲁迅先生的拿来主义,嘿嘿~~3D标签云就是做一个球面,然后再球面上取均匀分布的点,把点坐标 ...

  3. Select标签下拉列表二级联动级联

    首先从服务器端,绑定下拉列表,二级下拉的text命名按照一定规则加上一级下拉的ID. var options=new Array(); $(document).ready(function(){ // ...

  4. 利用JavaScript来实现省份—市县的二级联动

    所谓省-市二级联动是指当选择省份下拉选择框时,市县的下拉框会根据选择的省市而有相应的市县加载出来,如下图所示选择"上海市",城市的下拉选择框只会出现上海的市县: 这种二级联动非常常 ...

  5. asp.net DropDownList无刷新ajax二级联动实现详细过程

    只适合新手制作DropDownList无刷新ajax二级联动效果: 数据库实现,添加两表如图:表1,pingpai,表2,type,具体数据库实现看自己的理解: //页面主要代码: <asp:S ...

  6. javascript二级联动

    二级联动在一般的网页中随处可见,一般是地址,比如点击浙江省,随后出现的是杭州市,嘉兴市:点击北京省出现的是朝阳,海淀,而不是出现杭州,嘉兴. 要想实现这个步骤,就要用到javascript来实现.其中 ...

  7. 原生js二级联动

    今天说的这个是原生js的二级联动,在空白页面里动态添加并作出相对应的效果. 1 //创建两个下拉列表 select标签 是下拉列表 var sel = document.createElement(& ...

  8. js-day04--Ajax应用--二级联动

    Ajax概述和实用需求 Ajax介绍/阿贾克斯:一.Ajax不是一项具体的技术,而是几门技术的综合应用. Javascript.XHTML和CSS.DOM.XML和XMLHttpRequest.二.A ...

  9. django xadmin后台页面实现二级联动

    思路 先找到控件id ,这样就可以监听change事件 然后把自己写的js加入xadmin中 添加url和view,接受ajax请求和发送数据 第一步:找到联动上下级的ID 在浏览器中通过F12查看 ...

随机推荐

  1. c#读取文本文档实践3-写入到文本本文档

    首先通过File.ReadAllLines()方法读入文本文档中内容并返回字符串数组contents,这样每行数据就成为了这个字符串数组contents的一个元素,再利用split()方法将每一个元素 ...

  2. Map-Reduce的工作机制

    Mapper “Map-Reduce”的思想就是“分而治之” Mapper负责“分”,即把复杂的任务分解为若干个“简单的任务”而执行 “简单的任务”有几个意思:1.数据或计算规模相对于原任务要大大缩小 ...

  3. Ubuntu 14.10 下卸载MySQL

    前面讲了Mysql的简单安装方式,通过sudo apt-get install mysql-server 等脚本,安装之后如何卸载? 1 通过下面命令删除MySQL sudo apt-get auto ...

  4. eclipse安装spring和hibernate插件经验

    看网上的教程有时候不一定凑效,我是自己摸索的(看过尚硅谷的SSH视频),很多时候会安装不成功(或者安装结果与视频讲述不一致),但是安装过后,查看eclispe插件,会发现已经安装了(springIDE ...

  5. JS监听关闭浏览器事件

    Onunload与Onbeforeunload Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或 ...

  6. 关于EOF的种种。

    EOF读取数据是读取一个向下进行一次,知道没有数据可以读取. EOF的使用,用while和eof的

  7. Android无限循环轮播广告位Banner

     Android无限循环轮播广告位Banner 现在一些app通常会在头部放一个广告位,底部放置一行小圆圈指示器,指示广告位当前的页码,轮播展示一些图片,这些图片来自于网络.这个广告位banner ...

  8. AssemblyInfo.cs的作用

    总结:用来设置项目生成的dll的常规信息.(如版本.版权等等)它就相当于一个资源文件,存放资源信息. http://www.cnblogs.com/xuyuantao/articles/927285. ...

  9. 【OpenGL】法线变换详解(Normal Transform)[转]

    http://blog.csdn.net/xiajun07061225/article/details/7762711 在图形学中,同样的一个模型视图变换矩阵可以用来变换点.线.多边形以及其它几何体, ...

  10. I.MX6 32G SD卡测试

    /*********************************************************************** * I.MX6 32G SD卡测试 * 说明: * 这 ...