Android spinner省市联动以及Xml解析
来源:互联网 发布:打车 数据 编辑:程序博客网 时间:2024/06/05 15:25
在Android的开发中,经常需要添加地址,这里是一个简单的根据xml文件来解析去获取省市地址的联动
先在res目录下新建一个文件夹xml,把xml文件放在这个文件夹下,xml的格式是这样的,详细文件在下载demo里
<p p_id = "01"><pn>北京</pn><c c_id="0101"><cn>北京</cn><d d_id="101010100">北京</d><d d_id="101010200">海淀</d><d d_id="101010300">朝阳</d><d d_id="101010400">顺义</d><d d_id="101010500">怀柔</d><d d_id="101010600">通州</d><d d_id="101010700">昌平</d><d d_id="101010800">延庆</d><d d_id="101010900">丰台</d><d d_id="101011000">石景山</d><d d_id="101011100">大兴</d><d d_id="101011200">房山</d><d d_id="101011300">密云</d><d d_id="101011400">门头沟</d><d d_id="101011500">平谷</d></c></p>
写一个方法去获取xml文件中的地址
public void getXmlData(){//获取xml文件中的资源XmlResourceParser parser = getResources().getXml(R.xml.citys_weather);int type;try {type = parser.getEventType();List<String> citys = null;//判断是否到文件结束while(type != XmlPullParser.END_DOCUMENT){//判断是否是文件的开始if(type == XmlPullParser.START_DOCUMENT){data1 = new ArrayList<String>();data2 = new ArrayList<List<String>>();//判断是否是文件的开始标签}else if(type == XmlPullParser.START_TAG){String name = parser.getName();if("pn".equals(name)){data1.add(parser.nextText());citys = new ArrayList<String>();}else if("d".equals(name)){citys.add(parser.nextText());}//判断是否是文件的结束标签}else if(type == XmlPullParser.END_TAG){String name = parser.getName();if("p".equals(name)){data2.add(citys);}}type = parser.next();}} catch (XmlPullParserException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
这样data1中装载的就是省的地址,data2中装载的就是每个省下的市的地址子。只需要去调用就可以了
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, data1);spinner1.setAdapter(adapter1);spinner1.setOnItemSelectedListener(new OnItemSelectedListener() {@Overridepublic void onItemSelected(AdapterView<?> parent, View view,int position, long id) {ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_list_item_1, data2.get(position));spinner2.setAdapter(adapter2);}@Overridepublic void onNothingSelected(AdapterView<?> parent) {// TODO Auto-generated method stub}});
这样整个功能就已经完成了,下载地址为:http://download.csdn.net/detail/xiaoxiaomao123098/9014245
1 0
- Android spinner省市联动以及Xml解析
- spinner联动,解析xml
- JavaScript解析xml文件的省市联动
- servlet 解析dom4j解析xml文件 ajax省市联动
- javascirpt解析xml并实现省市二级联动
- 使用javascript解析xml实现省市县三级联动
- 省市联动问题及在html中解析xml文件
- 用js解析xml实现省市二级联动
- JavaScript解析XML实现省市县三级联动
- Ajax实现省市二级联动(解析XML内容)
- JQuery 加载并解析 XML实现省市联动
- fragment 中利用spinner实现省市联动
- 使用Spinner实现省市三级联动
- 使用pull解析和spinner实现省市地区三级联动的效果
- javascript+xml实现省市联动
- 省市县三级联动xml
- Android解析XML文件到Spinner中
- android 省市联动效果实现
- 视频码率,帧率和分辨率的联系与区别
- POJ 1141-Brackets Sequence(区间dp括号匹配打印路径)
- learn_python 函数
- 浅析Java数组声明、创建、初始化
- javascript object 相等判断逻辑
- Android spinner省市联动以及Xml解析
- HDU 2457 DNA repair (AC自动机 + DP)
- 分布式缓存
- USB之(四)HID设备类协议
- innobackupex参数之--incremental
- 从第m个数开始复制字符串
- output
- 操作系统一些概念
- [unity3d程序] 纹理扩散