LetterView实现载入全国各地城市

近期更具eoe论坛上的letteView案例(   eoe)自己做了一个LetterView载入全国城市的案例,欢迎大家互相学习和交流,

相对于eoe那个案例稍微修改了一下,利用json存储全国城市数据,而且读取实现动态绑定。

首先准备数据:数据格式例如以下:

第二:读取json数据,因为json数据较多我把数据写成了本地数据并实现读取,例如以下:

JSONObject jsonObject = new JSONObject(json);// //解析info数组,解析中括号括起来的内容就表示一个数组,使用JSONArray对象解析 JSONArray array = jsonObject.getJSONArray("City");for(int i = 0; i < array.length(); i++) {JSONObject item = array.getJSONObject(i);String strname="";String strIteam="";
String strkey = ""; for (int j = 0; j < strkeys.length; j++) { JSONArray arrayItem = item.getJSONArray(strkeys[j]); for(int count=0;count<arrayItem.length();count++){

TestData data=new TestData();

JSONObject jsonItem=arrayItem.getJSONObject(count);

strname=jsonItem.getString("name");

strkey=jsonItem.getString("key");

data.setName(strname);

//自行设置

data.setKey(strkey);

datas.add(data);

}

}

}

}

return datas;

	以上是实现的大部分源代码,另外本人还进行了其它扩展,当中另一些功能属性能够设置:
      假设要实现点击右边导航弹出悬浮框:LetterToast.getInstance(mContext).showToast(s);//弹出悬浮框显示你选的字母导航

假设要实现点击当中莫一项就提示你选择的城市(letterListView.setOnItemClickListener):

TextView tvname=(TextView)arg0.getChildAt(arg2).findViewById(R.id.name);//获取点击城市的文本框

Toast.makeText(MainActivity.this, tvname.getText(), Toast.LENGTH_SHORT).show();//显示点击的项目名称

执行效果图:

经过网友反映说,滑动后点击会奔溃报错,我回去看了下代码,修改了后发现这个问题能够解决:在MainActivity.java里面把

TextView tvname=(TextView)arg0.getChildAt(arg2).findViewById(R.id.name);//获取点击城市的名字

改为:TextView tvname=(TextView)arg1.findViewById(R.id.name);//获取点击城市的名字

就可以

另外本人从新改动了上传到CSDN下载,谢谢大家的支持

本程序源代码,请移步:

点击下载本程序源代码



LetterView实现载入全国各地城市

时间: 2024-10-13 17:38:16

LetterView实现载入全国各地城市的相关文章

全国三级城市联动 js版

/* * 全国三级城市联动 js版 * author: mrasong * E-mail: mrasong#163.com * version: 1.0.2 * data: tencent **/ function Dsy(){ this.Items = {}; } Dsy.prototype.add = function(id,iArray){ this.Items[id] = iArray; } Dsy.prototype.Exists = function(id){ if(typeof(t

收藏的js实现全国省份城市级联下拉菜单

在写程序的时候,经常需要用到全国省份城市级联下拉菜单的js代码. 这样的程序,没有必要完全自己去写,太费时间. 下面是我收藏的一个优质代码,非常不错,分享给大家. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http

全国主要城市不同日照标准的间距系数

表1 全国主要城市不同日照标准的间距系数 序号 城市名称 纬度 (北纬) 冬至日 大 寒 日 现行采用标准 正午影长率 日照1h 正午影长率 日照1h 日照2h 日照3h 1 漠 河 53 #176;00ˊ 4.14 3.88 3.33 3.11 3.21 3.33 — 2 齐齐哈尔 47 #176;20ˊ 2.86 2.68 2.43 2.27 2.32 2.43 1.8-2.0 3 哈尔滨 45 #176;45ˊ 2.63 2.46 2.25 2.10 2.15 2.24 1.5-1.8 4

21天打造分布式爬虫-房天下全国658城市房源(十一)

项目:爬取房天下网站全国所有城市的新房和二手房信息 网站url分析 1.获取所有城市url http://www.fang.com/SoufunFamily.htm 例如:http://cq.fang.com/ 2.新房url http://newhouse.sh.fang.com/house/s/ 3.二手房url http://esf.sh.fang.com/ 4.北京新房和二手房url规则不同 http://newhouse.fang.com/house/s/ http://esf.fan

天气预报API(四):最新全国所有城市代码(“新编码”)

参考一些博客.文章 来查找 测试 接口,后来发现两套编码标准,有点想法,故拿来对比分析. 注: 新旧编码是个人主观叫法,只是为了方便称呼,可能有不当之处,请留言更正. 暂且称 中国天气网等一批网站使用的城市代码称为 "旧编码":全国城市代码 或 全球城市.景点代码 暂且称 中国气象频道.腾讯天气使用的城市代码为 "新编码" 1.x 1.1

Java处理文件小例子--获取全国所有城市的坐标

需求:前端展示数据,全国城市的坐标 这个是 echarts 的 制作地图JSON 工具, 但是没有全国的,只有各个省 前端需要的数据:    所以现在 下载所有的省数据: 然后是Java处理. 这是这里重点, 在开发中, 很多繁琐的事 ,我们都可以用程序来控制: package cn.ycmedia.common.utils; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; i

全国三级城市级联菜单

Html: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <title>jQuery

python获取全国各个城市pm2.5、臭氧等空气质量

随着国家发展,中国很多城市的空气质量其实并不好,国家气象局会有实时统计,但是要去写爬虫爬取是十分麻烦的事情,并且官方网站也会做一些反爬虫措施,所以实现起来比较麻烦,最好的办法就是使用现成的免费接口,空气质量指数分析,这里是笔者自己实现的一个python调用方式,代码如下: # -*- coding: utf-8 -*- # flake8: noqa __author__ = 'wukong' import urllib from urllib import urlencode #配置您申请的ap

js 全国城市3级联动

js /* * 全国三级城市联动 js版 */ function Dsy(){ this.Items = {}; } Dsy.prototype.add = function(id,iArray){ this.Items[id] = iArray; } Dsy.prototype.Exists = function(id){ if(typeof(this.Items[id]) == "undefined") return false; return true; } function c