android二级联动spinner,怎么使用Spinner实现省市的二级联动功能
如何使用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实现省市的二级联动功能相关推荐
- Android 中文API (38) —— Spinner
前言 本章内容是 android.widget.Spinner,译为"下拉列表",版本为Android 2.2 r1,翻译来自"思考的狼",欢迎大家访问他的博客 ...
- com.android.kyj.onj,Android 自学之列表选择框Spinner
列表选择框(Spinner)与Swing编程里面的Spinner不同,这里的Spinner其实就是一个列表选项框. Spinner是ViewGroup的间接子类,因此他也可作为容器使用. Spinne ...
- Android入门教程四十三之Spinner(列表选项框)的基本使用
本来本节是想给大家介绍一个Gallery(画廊)的一个控件的,后来想想还是算了,因为 在Android 4.1后就已经被弃用了,尽管我们可以通过兼容不来使用Gallery,不过想想 还是算了,因为Ga ...
- android spinner 简书,Spinner添加数据
第一种方法: 设置list public List getDataSource(){ List list = new ArrayList List.add("beijing"); ...
- Android实现音乐示波器、均衡器、重低音和音场功能
本实例来自于<疯狂Android讲义>,要实现具体的功能,需要了解以下API: MediaPlayer 媒体播放器 Visualizer 频谱 Equalizer 均衡器 BassBoo ...
- 我的Android进阶之旅------gt;Android实现音乐示波器、均衡器、重低音和音场功能...
本实例来自于<疯狂Android讲义>.要实现详细的功能,须要了解下面API: MediaPlayer 媒体播放器 Visualizer 频谱 Equalizer 均衡器 BassBoo ...
- android列表实现置顶,Android利用RecyclerView实现全选、置顶和拖拽功能示例
Android利用RecyclerView实现全选.置顶和拖拽功能示例 发布时间:2020-08-23 16:26:42 来源:脚本之家 阅读:159 作者:爱开发 前言 今天给大家分享是如何在Rec ...
- 计算机二级msoffice操作题如何评分,2017年计算机二级MSOffice操作题及答案解析
[www.hywsbj.com--合格党员] 没有获得合格证书的考生,无补考,下一次需重新以新考生身份报名参加考试.下面是小编整理的关于计算机二级MSOffice操作题及答案解析.欢迎大家参考! 1. ...
- 计算机二级python用什么书-如何准备全国计算机二级Python?
如果你也和我一样是零基础学习,希望你过! 以下是我的回答提纲 /> 一.参考过的知乎回答这是我找到的最全面的备考攻略,第一推荐!!考完发现他还有更新!!曹操:计算机二级 Python 怎么考?考 ...
最新文章
- matlab plot3d_号称轻量级MATLAB的数学工具—Maple 2019.2
- 清华姚班陈丹琦等27位华人学者获奖,斯隆奖2022年获奖名单颁布!
- Unet实现图像分割(三)
- 微服务架构之「 访问安全 」
- LNMP架构介绍与搭建
- traceroute tracert
- 一级计算机选择题汇总,计算机一级考试选择题汇总.pdf
- OA系统概要设计文档
- 「PyTorch自然语言处理系列」7. 自然语言处理的进阶序列模型
- 网络攻防技术——域名信息
- 浏览记录-history
- Nightingale 滴滴夜莺 运维监控-快速开始
- 阿里云云服务器 修改远程桌面端口
- 移动调试工具weinre安装和使用
- 液晶12864显示字符
- Java 字符串与集合练习——词频统计
- git提交代码弹出windows安全中心
- 图像处理基础(三)DFT与IDFT变换
- 数睿数据张超、车文彬,受邀出席“2021ISIG中国产业智能大会”
- 关于Tiff,tfw文件关系