近期更具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下载,谢谢大家的支持

本程序源代码,请移步:

点击下载本程序源代码



最新文章

  1. Oracle学习指南
  2. 一种在视频OBJECT标签上放置均分四个区域的框选方法
  3. kernel/Makefile
  4. mac下删除svn账号
  5. OpenGL学习之路(三)
  6. Linux操作系统中,.zip、.tar、.tar.gz、.tar.bz2、.tar.xz、.jar、.7z等格式的压缩与解压
  7. winscp配置
  8. Android之使用SharedPreferences保存用户偏好参数
  9. cf437A The Child and Homework
  10. Node.js开发指南中的例子(mysql版)
  11. 小白的Python之路 day1 模块初识
  12. JavaScript语法详解:JS简介&amp;变量
  13. 固定浮动侧边栏(SmartFloat)
  14. javaScript 物体多形态改变加回调函数
  15. c# WinFo判断当前程序是否已经启动或存在的几种方式
  16. [Web安全] XXE漏洞攻防学习(上)
  17. 【selenium2】【unittest】
  18. kubernetes资源清单入门
  19. iOS开发总结-Xcode常见错误
  20. quick-cocos2d-x + Lua 开发

热门文章

  1. Gentoo安装
  2. amoeba安装与实现amoeba for mysql读写分离
  3. 正则化(Regularization)
  4. Host绑定
  5. 先前设定的sa密码忘记了,如何修改sa密码?
  6. Discuz!NT中的Redis架构设计
  7. Android学习系列(20)--App数据格式之解析Json
  8. ubuntu下eclipse打开win下的代码中文出现乱码
  9. Ildasm.exe(MSIL 反汇编程序)
  10. NGINX(六)扩展