`
he91_com
  • 浏览: 401089 次
文章分类
社区版块
存档分类
最新评论

使用spinner实现省市二级级联

 
阅读更多

历经几天查阅更改终于把这个功能实现了,回想起来:用新技术实现想要的结果同时我们不能紧抓住一个问题不放。一个方法不行我们可以寻找其他方法,切不可一条路走到黑!

spinner:提供一种下拉列表选择的输入方式,可以节省有限的屏幕空间占用。实现他很简单,但是在两者之间建立联系时就需注意了。

这里首先“省”,第一级我们无需改动,将其放入适配器显示即可;第二级“市”,需要根据省来确定:

1)省份:

ArrayAdapter<CharSequence> _Adapter = ArrayAdapter.createFromResource(
				this, R.array.spinnerprovince,
				android.R.layout.simple_spinner_item);
		_Adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
		province.setAdapter(_Adapter);

2)根据省份显示城市:

// 点击省份对应城市数据绑定
		province.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

			@Override
			public void onItemSelected(AdapterView<?> parent, View view,
					int position, long id) {
				Spinner spinner = (Spinner) parent;
				String pro = (String) spinner.getItemAtPosition(position);
				// 默认显示城市
				ArrayAdapter<CharSequence> _BAdapter = ArrayAdapter
						.createFromResource(MarketActivity.this,
								R.array.cityofshandong,
								android.R.layout.simple_spinner_item);
				// 点击省市显示相应城市
				if (pro.equals("山东省")) {
					_BAdapter = ArrayAdapter.createFromResource(
							MarketActivity.this, R.array.cityofshandong,
							android.R.layout.simple_spinner_item);
				} else if (pro.equals("山西省")) {
					_BAdapter = ArrayAdapter.createFromResource(
							MarketActivity.this, R.array.cityofshanxi,
							android.R.layout.simple_spinner_item);
				} else if (pro.equals("安徽省")) {
					_BAdapter = ArrayAdapter.createFromResource(
							MarketActivity.this, R.array.cityofanhui,
							android.R.layout.simple_spinner_item);
				}
				_BAdapter
						.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
				city.setAdapter(_BAdapter);
			}

其中默认城市只需在array里设定即可(同上一篇array)。

这里是重要代码,希望可以帮到有些迷茫的同学。新手可以到我空间下载demo源代码,帮助学习(可运行、有注释)。

源代码下载地址:http://download.csdn.net/download/duyuping/6237573

分享到:
评论

相关推荐

    spinner实现省市二级联动

    本示例主要讲解如何利用Spinner实现省市二级联动的功能,这是一个在许多应用中都需要用到的功能,如地址填写、定位服务等。下面将详细介绍这个过程。 首先,我们需要明白什么是二级联动。二级联动是指在一个选择框...

    android控件之 spinner 实现省市二级联动 源码

    我是一个android新手,所以一切以简单起步。...如果您正在学习这个控件,需要实现基于这个控件的二级联动效果,不妨使用这个看看. 使用方法:用eclipse导入,假若报错,把平台改为android2.2,jdk1.6就可以了。

    Spinner二级联动下拉菜单

    综上所述,实现"Spinner二级联动下拉菜单"涉及到了Android UI设计、数据适配、事件监听、数据加载、异步处理等多个方面,是Android开发中的一个综合实践。在实际开发中,应确保代码的可读性、可维护性,并考虑性能...

    省市二级spinner

    首先,我们来详细解释一下"省市二级spinner"的实现原理: 1. **数据结构**:通常,我们需要一个二维数据结构来存储省市区的数据,比如二维数组或列表。每一级(省、市)都是一个列表,列表中的每个元素包含该级别的...

    spinner二级省市级联

    本示例“spinner二级省市级联”是针对如何使用Spinner实现省市区三级联动的一个经典应用场景。在这个项目中,我们将会看到如何通过编程方式处理这种复杂的交互。 首先,Spinner的使用通常涉及到数据的加载和适配器...

    Android城市级联下拉框(自定义Spinner)

    在Android开发中,有时...总之,实现Android城市级联下拉框(自定义Spinner)需要对Spinner的基本使用、事件监听、数据更新以及界面定制有深入了解。通过不断实践和优化,我们可以创建出用户体验优秀的级联选择组件。

    Android版省市区三级级联

    这个"Android版省市区三级级联"应该是一个实现中国省份、城市、区县选择功能的代码库或者组件,允许用户通过级联的方式进行选择,提供便捷的用户体验。下面将详细阐述这一知识点及其相关技术。 首先,我们要理解三...

    android 之Spinner下拉菜单实现级联

    5. **级联效果的扩展**:如果需要实现更复杂的级联,如第三级、第四级等,只需在前一级的监听事件中继续更新后续Spinner的数据即可。 总结来说,Android中实现Spinner的级联效果主要涉及以下几个步骤: - 准备各...

    使用Spinner实现下拉列表

    本篇文章将详细介绍如何使用Spinner来实现下拉列表,以及如何自定义其样式。 首先,我们来了解Spinner的基本用法。在XML布局文件中,可以添加一个Spinner元素: ```xml &lt;Spinner android:id="@+id/spinner" ...

    android spinner 省份市二级联动

    在“android spinner 省份市二级联动”这个场景中,我们通常需要实现一个功能,即当用户在第一个Spinner(省份)中选择一个特定的省份时,第二个Spinner(城市)会自动更新为对应省份的城市列表。这种联动效果在很多...

    Android使用Spinner实现城市级联下拉框

    在本文中,我们将深入探讨如何使用Spinner实现城市级联下拉框,这是一个在实际应用中常见的需求,例如在地址选择或设置中。 首先,我们需要理解Spinner的基本结构。在提供的`activity_main.xml`布局文件中,可以...

    Android实现省市区三级联动效果 Spinner

    总之,实现省市区三级联动效果,关键在于使用Spinner结合自定义Adapter,通过监听用户的选择并动态更新数据来达到联动的目的。这是一个典型的Android UI编程问题,对理解和掌握Android数据绑定、事件处理和UI设计有...

    android sqlite绑定城市三级联包含三级城市级联mysql数据源,sql语句

    - Spinner级联:通过监听Spinner的选中事件,根据用户选择更新下一个Spinner的数据源,实现级联效果。 5. MySQL数据源: - 远程数据同步:虽然SQLite主要用于本地数据存储,但也可以通过网络请求同步MySQL数据库...

    实现区域级联选择效果(级联菜单)

    在Android开发中,实现区域级联选择效果,通常是指创建一个类似于下拉菜单的效果,其中一项选择会引发下一级别的选项出现,这种交互设计被称为级联菜单或联动菜单。这样的功能常见于地理位置选择,例如省份-城市-...

    Spinner的二级联动

    以上就是关于Spinner二级联动的实现方法,以及如何自定义Spinner的样式。通过这种方式,你可以创建出更加符合应用需求的交互界面。希望这个示例能够帮助到你和其他开发者,如果有任何问题或者心得,欢迎进行交流讨论...

    安卓 spinner 实现省市级联

    Spinner控件在Android中广泛用于实现有限选项的选择,通常与Adapter配合使用,将数据绑定到视图上。 在Android中,实现省市级联的基本步骤如下: 1. **创建数据结构**: 首先,你需要创建一个表示省份的数据数组...

    android省市二级联动

    - 在实现二级联动时,首先需要设计一个合适的数据结构来存储省市区数据。通常,我们可以使用树形结构或者两级列表来表示。每个省对应一个节点,节点下包含若干个城市节点。 - 数据可以来源于网络API,也可以预先...

    Android 省市区三级连动--spinner.rar

    开发者可以通过阅读和分析这些代码,学习如何实现省市区三级联动的Spinner。 在实际开发中,考虑到性能和用户体验,你可能还需要考虑异步加载数据、缓存策略、错误处理等细节。同时,对于大量数据,可能需要使用...

    android Spinner+sqlite 三级联动

    ### Android Spinner+SQLite 三级联动实现详解 #### 一、概览 在Android开发中,经常会遇到需要展示层级数据的情况,比如省份-城市-区县的选择等。这种情况下,使用Spinner(下拉列表框)结合SQLite数据库进行三级...

Global site tag (gtag.js) - Google Analytics