如何使用Spinner实现省市的二级联动功能

1.确定我需要的数据放到res/values/arrays.xml文件(定义数组)

-省份-

河北省

山西省

北京市

-城市-

承德市

邯郸市

廊坊市

-城市-

海淀区

朝阳区

崇文区

-城市-

大同市

临汾市

2.编写xml界面res/values/main.xml文件(编写界面)

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:id="@+id/textView"

/>

android:layout_width="fill_parent"

android:layout_height="wrap_content"

>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:id="@+id/province"

/>

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_toRightOf="@id/province"

android:id="@+id/city"

/>

3.在Activity中实现省市联动功能

/**

* 通过Spinner实现省市(两级)联动

* @author 黑色天空

*/

public class MainActivity extends Activity {

private TextView textView ;

private Spinner province;

private Spinner city;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

//String[] provinces = new String[]{"-省份-","河北省","山西省","北京"};

textView = (TextView)this.findViewById(R.id.textView);

province = (Spinner)this.findViewById(R.id.province);

city = (Spinner)this.findViewById(R.id.city);

//(处理省的显示)

//将可选内容与ArrayAdapter的连接(从资源数组文件中获取数据)

ArrayAdapter adapter =

ArrayAdapter.createFromResource(this, R.array.province, android.R.layout.simple_spinner_item);

//new ArrayAdapter(this,android.R.layout.simple_spinner_item, provinces);

//设置下拉列表的风格

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

//将数据绑定到Spinner视图上

province.setAdapter(adapter);

//添加条目被选中监听器

province.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

@Override

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

//parent既是province对象

Spinner spinner = (Spinner)parent;

String pro =  (String)spinner.getItemAtPosition(position);

//(处理省的市的显示)

//将默认值与ArrayAdapter连接(从资源数组文件中获取数据)

ArrayAdapter cityAdapter = ArrayAdapter.createFromResource

(MainActivity.this, R.array.citydefault, android.R.layout.simple_spinner_item);

//new  ArrayAdapter

//           (MainActivity.this,android.R.layout.simple_spinner_item, cities);

//获取所在省含有哪些市(从资源数组文件中获取数据)

if(pro.equals("河北省")){

cityAdapter = ArrayAdapter.createFromResource

(MainActivity.this, R.array.hb, android.R.layout.simple_spinner_item);

}else if(pro.equals("北京市")){

cityAdapter = ArrayAdapter.createFromResource

(MainActivity.this, R.array.bj, android.R.layout.simple_spinner_item);

}else if(pro.equals("山西省")){

cityAdapter = ArrayAdapter.createFromResource

(MainActivity.this, R.array.shx, android.R.layout.simple_spinner_item);

}

//绑定数据到Spinner(City)上

city.setAdapter(cityAdapter);

}

@Override

public void onNothingSelected(AdapterView> parent) {

}

});

}

}

注:博客涉及的源码请在千寻资源库:www.qxzyk.com 下载获取,谢谢支持。

android二级联动spinner,怎么使用Spinner实现省市的二级联动功能相关推荐

  1. Android 中文API (38) —— Spinner

    前言 本章内容是 android.widget.Spinner,译为"下拉列表",版本为Android 2.2 r1,翻译来自"思考的狼",欢迎大家访问他的博客 ...

  2. com.android.kyj.onj,Android 自学之列表选择框Spinner

    列表选择框(Spinner)与Swing编程里面的Spinner不同,这里的Spinner其实就是一个列表选项框. Spinner是ViewGroup的间接子类,因此他也可作为容器使用. Spinne ...

  3. Android入门教程四十三之Spinner(列表选项框)的基本使用

    本来本节是想给大家介绍一个Gallery(画廊)的一个控件的,后来想想还是算了,因为 在Android 4.1后就已经被弃用了,尽管我们可以通过兼容不来使用Gallery,不过想想 还是算了,因为Ga ...

  4. android spinner 简书,Spinner添加数据

    第一种方法: 设置list public List getDataSource(){ List list = new ArrayList List.add("beijing"); ...

  5. Android实现音乐示波器、均衡器、重低音和音场功能

    本实例来自于<疯狂Android讲义>,要实现具体的功能,需要了解以下API: MediaPlayer  媒体播放器 Visualizer 频谱 Equalizer 均衡器 BassBoo ...

  6. 我的Android进阶之旅------gt;Android实现音乐示波器、均衡器、重低音和音场功能...

    本实例来自于<疯狂Android讲义>.要实现详细的功能,须要了解下面API: MediaPlayer  媒体播放器 Visualizer 频谱 Equalizer 均衡器 BassBoo ...

  7. android列表实现置顶,Android利用RecyclerView实现全选、置顶和拖拽功能示例

    Android利用RecyclerView实现全选.置顶和拖拽功能示例 发布时间:2020-08-23 16:26:42 来源:脚本之家 阅读:159 作者:爱开发 前言 今天给大家分享是如何在Rec ...

  8. 计算机二级msoffice操作题如何评分,2017年计算机二级MSOffice操作题及答案解析

    [www.hywsbj.com--合格党员] 没有获得合格证书的考生,无补考,下一次需重新以新考生身份报名参加考试.下面是小编整理的关于计算机二级MSOffice操作题及答案解析.欢迎大家参考! 1. ...

  9. 计算机二级python用什么书-如何准备全国计算机二级Python?

    如果你也和我一样是零基础学习,希望你过! 以下是我的回答提纲 /> 一.参考过的知乎回答这是我找到的最全面的备考攻略,第一推荐!!考完发现他还有更新!!曹操:计算机二级 Python 怎么考?考 ...

最新文章

  1. matlab plot3d_号称轻量级MATLAB的数学工具—Maple 2019.2
  2. 清华姚班陈丹琦等27位华人学者获奖,斯隆奖2022年获奖名单颁布!
  3. Unet实现图像分割(三)
  4. 微服务架构之「 访问安全 」
  5. LNMP架构介绍与搭建
  6. traceroute tracert
  7. 一级计算机选择题汇总,计算机一级考试选择题汇总.pdf
  8. OA系统概要设计文档
  9. 「PyTorch自然语言处理系列」7. 自然语言处理的进阶序列模型
  10. 网络攻防技术——域名信息
  11. 浏览记录-history
  12. Nightingale 滴滴夜莺 运维监控-快速开始
  13. 阿里云云服务器 修改远程桌面端口
  14. 移动调试工具weinre安装和使用
  15. 液晶12864显示字符
  16. Java 字符串与集合练习——词频统计
  17. git提交代码弹出windows安全中心
  18. 图像处理基础(三)DFT与IDFT变换
  19. 数睿数据张超、车文彬,受邀出席“2021ISIG中国产业智能大会”
  20. 关于Tiff,tfw文件关系

热门文章

  1. 安全使用iphone的7个小技巧
  2. SQL Server数据库服务无法正常启动问题
  3. 如何快速在手机备忘录添加指定日期的日程
  4. CentOS7的安装流程
  5. r语言实现互相关分析和典型相关分析
  6. QFontDatabase: Cannot find font directory .../lib/fonts
  7. 失去偏执的苹果会怎样?Android 会一统天下吗?
  8. Mac 设置idea代码提示快捷键
  9. 依楼听风雨,淡看江湖路
  10. Xunsearch入门