LetterView实现载入全国各地城市

LetterView实现载入全国各地城市

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

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

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

<span>LetterView实现载入全国各地城市</span>

第二:读取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();//显示点击的项目名称

执行效果图:

<span>LetterView实现载入全国各地城市</span>

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

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

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

就可以

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

      本程序源代码,请移步:

              点击下载本程序源代码 


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/119040.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • lightroom cc 2015 mac的快捷键

    lightroom cc 2015 mac的快捷键Lightroom是一款非常专业的图形图像软件,使用它可以加快对图片后期处理的速度。如果这些快捷键你都知道的话?可以帮你节省很多时间,大大提高工作效率。还没有了解全面的不妨仔细看一下!全面了解的也可以看看还有什么疏漏的地方!lightroomcc2015mac快捷按键▪数字0:取消等级1~5:在图库模块中为选中的照片设置等级;6~9:在图库模块中为选中的照片设置色彩标…

    2022年5月26日
    41
  • Python实现翻译小工具「建议收藏」

    Python实现翻译小工具「建议收藏」一、背景利用Requests模块获取有道词典web页面的post信息,BeautifulSoup来获取需要的内容,通过tkinter模块生成gui界面。二、代码git源码地址fanyi.py代

    2022年7月5日
    22
  • 用bat批量重命名图片_bat批量提取文件名

    用bat批量重命名图片_bat批量提取文件名@echooffsetlocalenabledelayedexpansionsetcount=100for/f”delims=”%%iin(‘dir/b*.jpg,*.png,*.bmp,*.jpeg,*.gif’)docall:Rename”%%~i”pauseexit:Renameset/acount+=1if/i”%~1″==”!count:~1!%~x1″goto:eofifexist”!count:~1!%~x1″gotoRena

    2022年9月3日
    2
  • hashset自定义去重规则_sql数据去重

    hashset自定义去重规则_sql数据去重publicstaticvoidmain(String[]args){List<String>list=newArrayList<>();list.add(“d”);list.add(“d”);list.add(“d”);System.out.println(list);list=remov…

    2022年9月28日
    0
  • BP神经网络原理及matlab实例

    BP神经网络原理及matlab实例转载:http://blog.csdn.net/u013007900/article/details/50118945上一次我们讲了M-P模型,它实际上就是对单个神经元的一种建模,还不足以模拟人脑神经系统的功能。由这些人工神经元构建出来的网络,才能够具有学习、联想、记忆和模式识别的能力。BP网络就是一种简单的人工神经网络。 本文具体来介绍一下一种非常常见的神经网络模型——反

    2022年7月20日
    13
  • mybatiscodehelperpro在线激活码(JetBrains全家桶)

    (mybatiscodehelperpro在线激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlFZP9ED60OK-eyJsaWNlbnNlSWQi…

    2022年4月1日
    367

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号