近期更具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实现载入全国各地城市的更多相关文章

  1. 全国三级城市联动 js版

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  2. 全国主要城市(电信)ip地址

    全国主要城市(电信)ip地址 2011-09-08 16:17:18 标签:ip地址 全国主要城市(电信) 职场 休闲 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声 ...

  3. 全国各城市Uber客服联系方式(电话、邮箱、微博)

    滴快车单单2.5倍,注册地址:http://www.udache.com/ 如何注册Uber司机(全国版最新最详细注册流程)/月入2万/不用抢单:http://www.cnblogs.com/mfry ...

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

    需求:前端展示数据,全国城市的坐标

  5. MSSQLServer——全国省份城市SQL语句

    use hr create table dbo.province ( proID int primary key, proName ), keys ) ) ,'北京市','B'); ,'天津市','T ...

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

    随着国家发展,中国很多城市的空气质量其实并不好,国家气象局会有实时统计,但是要去写爬虫爬取是十分麻烦的事情,并且官方网站也会做一些反爬虫措施,所以实现起来比较麻烦,最好的办法就是使用现成的免费接口,空 ...

  7. 全国省会城市路网以及POI 数据

  8. 全国城市三级联动 html+js

    全国城市三级联动,没有css,所以屏幕的自适应必须自己想办法,手机端慎用(最好不要用,因为有些我也说不出的展示问题). html页面 <!DOCTYPE html> <html> ...

  9. js 全国城市3级联动

    js /* * 全国三级城市联动 js版 */ function Dsy(){ this.Items = {}; } Dsy.prototype.add = function(id,iArray){ ...

随机推荐

  1. 腾讯TDW:大型Hadoop集群应用[转载]

    转自:http://www.uml.org.cn/sjjm/201508103.asp  作者:Uri Margalit 来源:InfoQ 发布于:2015-8-10 TDW(Tencent dist ...

  2. bzoj3572

    通过这题我知道了一个鬼故事,trunc(ln(128)/ln(2))=6……以后不敢轻易这么写了 好了言归正传,这题明显的构建虚树,但构建虚树后怎么树形dp呢? 由于虚树上的点不仅是议事会还有可能是议 ...

  3. javascript两行代码按指定格式输出日期时间

    javascript两行代码按指定格式输出日期时间,具体看代码: function date2str(x,y) { var z ={y:x.getFullYear(),M:x.getMonth()+1 ...

  4. log4net 将日志写入数据库

    asp.net利用log4net写入日志到SqlServer数据库,Log4net是一个开源的错误日志记录项目,易用性强,源自log4j,品质值得信赖. 下面就我的安装部署log4net到MS sql ...

  5. android利用WebView实现浏览器的封装

    android提供了封装浏览器的接口,可以让开发者利用自己的view显示网页内容.今天又实现研究了一下,利用WebView显示浏览器内容,还可以利用 WebViewClient显示自己需要的内容. 参 ...

  6. android捕获ListView中每个item点击事件

    转自:http://www.cnblogs.com/pswzone/archive/2012/03/10/2389275.html package com.wps.android;   import  ...

  7. ArcGIS for Android示例解析之离线地图-----LocalTiledLayer

    转自:http://blog.csdn.net/wozaifeiyang0/article/details/7327423 LocalTiledLayer 看到这个标题是否是很激动,如题,该示例就是添 ...

  8. Mtom Encoding in WCF

    http://www.codeproject.com/Articles/632101/Mtom-Encoding-in-WCF http://msdn.microsoft.com/zh-cn/libr ...

  9. SQL Server 触发器:表的特定字段更新时,触发Update触发器

    create trigger TR_MasterTable_Updateon MasterTableafter updateas if update ([Type])--当Type字段被更新时,才会触 ...

  10. e8_4输出菲波拉契数列的前10项

    program fbnq;{输出菲波拉契数列的前10项} var a:..] of integer; i:integer; begin a[]:=; a[]:=; do a[i]:=a[i-]+a[i ...