`

Android学习之下拉列表框联动

阅读更多

city_data.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
	<string-array name="city_lables">
		<item>中国 - 北京</item>
		<item>中国 - 上海</item>
		<item>中国 - 广州</item>
	</string-array>
</resources>

 

strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
	<string name="hello">Hello World, MySpinnerListenerDemo!</string>
	<string name="app_name">下拉列表框事件</string>
	<string name="city_prompt">选择你喜欢的城市:</string>
	<string name="area_prompt">选择你喜欢的城区:</string>
</resources>

 

main.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 
	xmlns:android="http://schemas.android.com/apk/res/android"
	android:orientation="horizontal" 
	android:layout_width="fill_parent"
	android:layout_height="fill_parent">
	<Spinner
		android:id="@+id/city"
		android:prompt="@string/city_prompt"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		android:entries="@array/city_lables"/>
	<Spinner
		android:id="@+id/area"
		android:prompt="@string/city_prompt"
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"/>
</LinearLayout>

 

java文件:

package org.lxh.demo;

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;
public class MySpinnerListenerDemo extends Activity {
	private Spinner city = null; // 下拉列表框内容
	private Spinner area = null; // 二级列表
	private String[][] areaData = new String[][] {
			{ "东城", "西城", "朝阳", "大兴", "平谷" }, // 针对于一级的子信息
			{ "黄浦", "杨浦", "闵行" }, // 针对于二级的子信息
			{ "广州" } // 针对于三级的子信息
	}; // 子菜单项
	private ArrayAdapter<CharSequence> adapterArea = null;

	@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		super.setContentView(R.layout.main);
		this.city = (Spinner) super.findViewById(R.id.city); // 取得下拉列表框
		this.area = (Spinner) super.findViewById(R.id.area); // 取得下拉列表框
		this.city.setOnItemSelectedListener(new OnItemSelectedListenerImpl());
	}

	private class OnItemSelectedListenerImpl implements OnItemSelectedListener {

		public void onItemSelected(AdapterView<?> parent, View view,
				int position, long id) { // 表示选项改变的时候触发
			MySpinnerListenerDemo.this.adapterArea = new ArrayAdapter<CharSequence>(
					MySpinnerListenerDemo.this,
					android.R.layout.simple_spinner_item,
					MySpinnerListenerDemo.this.areaData[position]); // 定义所有的列表项
			MySpinnerListenerDemo.this.area
					.setAdapter(MySpinnerListenerDemo.this.adapterArea);// 设置二级下拉列表的选项内容
		}

		public void onNothingSelected(AdapterView<?> arg0) { // 表示没有选项的时候触发
			// 一般此方法现在不关心
		}
	}
}

 

分享到:
评论

相关推荐

    android下拉筛选框

    压缩包中的"TwoListView"可能表示一种实现两个列表联动的筛选方式,即在一个Spinner的选择会影响到另一个Spinner的显示内容。例如,一个Spinner选择城市,另一个Spinner显示该城市下的区域,实现级联选择的效果。...

    android中国省市区三级联动下拉列表源码

    在Android开发中,有时我们需要实现一个功能,让用户能够选择中国的省份、城市和区县,这就是所谓的“三级联动下拉列表”。这个功能常见于地址输入、定位服务等场景。本项目提供了一个完整的Android工程源码,专门...

    Android开发之二级联动下拉框

    `Spinner`是Android SDK中提供的一个下拉菜单控件,它可以显示一个固定的选项列表,并且当用户点击时会弹出一个下拉菜单供用户选择。在Android开发中,`Spinner`的实现方式主要有两种:通过XML布局文件定义或者在...

    Android 利用dialog弹出 二级下拉列表 ExpandableListView+DialogLI

    Android 利用dialog弹出 二级下拉列表 ExpandableListView+DialogLI。 利用dialog和ExpandableListView实现的一个弹出二级菜单项,并进行了封装,可在activity和fragment中随意调用。简单实用,兼容性好。 二级列表

    安卓三级联动省市联动多级联动相关-Android多级下拉列表菜单可向下选择3级子菜单.zip

    这个标题中的"安卓三级联动省市联动多级联动相关-Android多级下拉列表菜单可向下选择3级子菜单.zip"描述了一个Android应用组件,它允许用户通过一个多级下拉菜单来选择不同层次的选项,如国家、省份和城市,形成一个...

    android下拉二级联动效果实现

    在本案例中,我们将探讨如何在Android应用中实现这种"android下拉二级联动效果"。 首先,我们需要准备两个Spinner控件,它们分别代表一级和二级下拉菜单。Spinner是Android中用于实现下拉列表效果的组件,可以通过...

    安卓三级联动省市联动多级联动相关-android(三级联动)全国省市县下拉地址选择源码.zip

    6. **UI设计**:最后,开发者需要考虑如何在界面上展示这三个下拉列表,并确保整体布局合理,交互流畅。 由于源码可能未经过全面测试,开发者提到运行不畅时需要自行调试。这意味着你可能需要检查代码中的逻辑错误...

    推荐2款Android安卓APP 三级联动的选择控件.zip

    在Android应用中,这通常表现为三个连续的下拉列表,每个列表的选项都基于前一个列表的选择动态更新。例如,在选择日期时,用户首先选择年份,然后根据所选年份筛选出相应的月份,最后再根据月份筛选出对应的日期。 ...

    Android实现三级联动下拉框 下拉列表spinner的实例代码

    本文将详细介绍如何在Android中实现一个三级联动的下拉列表,即spinner。 首先,我们需要在XML布局文件中定义三个Spinner组件,每个Spinner代表一个级别的选择。如给定的XML布局所示: ```xml android:layout_...

    Android 仿快手视频列表,RecyclerView与Banner联动效果

    在Android开发中,实现类似快手视频列表的效果,通常涉及到`RecyclerView`和`Banner`组件的联动。`RecyclerView`是Google推出的高效列表视图,而`Banner`则常用于轮播图展示,这样的组合可以创建出丰富的用户体验。...

    android(三级联动)全国省市县下拉地址选择源码-IT计算机-毕业设计.zip

    2. Android UI组件:主要使用Spinner或者RecyclerView来创建下拉列表。Spinner提供了一个简单的下拉菜单,适合简单的选择;RecyclerView则更加灵活,可以适应更复杂的布局需求,如滑动选择。 3. 数据加载:开发者...

    android省市区三级联动地址选择器demo

    - Android中的Spinner是一个下拉列表控件,适合用来展示有限的选择项。在这个Demo中,三个Spinner分别对应省、市、区,每个Spinner的选项会根据上一级的选择动态更新。 5. **Adapter**: - Spinner需要一个...

    android 二级联动

    二级联动指的是两个或多个下拉列表(Spinner)之间存在关联关系,当用户在第一个下拉列表中做出选择时,第二个下拉列表的数据会根据前者的选中值动态更新。这种联动效果是通过监听第一个Spinner的选择事件,然后根据...

    Android省市区三级联动

    Spinner可以显示下拉列表供用户选择,并且可以监听用户的选中事件。 3. **数据加载**:在初始化时,需要加载省的数据到第一个Spinner。当用户选择一个省后,通过province的id找到对应的市数据并填充到第二个Spinner...

    android城市列表三级联动

    - Android中的Spinner是下拉列表控件,适合用来实现联动效果。我们需要创建三个Spinner,分别对应省、市、区/县。当用户在任一Spinner中选择一项,都会触发监听事件,更新下一个层级的Spinner数据。 4. 事件监听与...

    安卓开发xml解析省市县三级联动Spinner下拉列表源码

    在Android应用开发中,经常会遇到需要实现省市区三级联动下拉列表的需求,这通常用于用户填写地址或选择地区。这个需求可以通过XML解析来实现,配合Spinner控件,为用户提供便捷的交互体验。以下是对"安卓开发xml...

    组合框列表框五级联动示例,省市县区街道联动示例

    组合框结合了文本输入框和下拉列表的功能,用户可以手动输入或从预设列表中选择;列表框则显示一组可选的项目,用户可以通过点击选择一个或多个项。 二、五级联动原理 五级联动的核心在于事件监听和数据绑定。当...

    安卓三级联动省市联动多级联动相关-Android竖直滑动选择器三级联动二级联动.rar

    1. **联动选择器**: 联动选择器通常由多个下拉列表组成,每个列表的选择会影响到下一个列表的显示内容。在本例中,可能是省、市、区三个级别,当用户在第一个列表(省)中选择一个省份时,第二个列表(市)会更新为...

    android spinner 省份市二级联动

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

    android省市二级联动

    - 考虑到UI设计,二级联动通常会采用两个并列的下拉列表,或者一个可展开/折叠的布局。布局设计应简洁明了,易于用户操作。 10. **事件监听**: - 添加合适的点击事件监听器,如OnItemSelectedListener或...

Global site tag (gtag.js) - Google Analytics