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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • HTML布局方式Flex属性详解

    HTML布局方式Flex属性详解背景 flexbox 布局方式旨在容器中的元素在排版 对其 剩余空间处理的问题上提供一个高效的解决方式 无论子元素的大小是已知或未知 动态或者静态 flexbox 布局的思想就是通过改变子元素的长 宽 顺序来更好的利用容器的空间 而且 相比于规则的布局方式如 block inline flexbox 布局方式对于子元素的排列方向也是任意的 注意 flexbox 布局更加适合于应用组件或者小尺寸的布

    2025年7月20日
    3
  • fileinput.js php,fileinput

    fileinput.js php,fileinput$(“#uploadfile”).fileinput({theme:’explorer-fa’,uploadUrl:upload_url+”?catalog=9″,language:’zh’,overwriteInitial:false,initialPreviewAsData:true,maxFileCount:3,initialPreview:pics,initialPrev…

    2022年6月7日
    28
  • 集合遍历中删除行不行「建议收藏」

    集合遍历中删除行不行「建议收藏」集合遍历中删除行不行

    2022年4月24日
    36
  • Android 框架揭秘 –读书笔记[通俗易懂]

    Android 框架揭秘 –读书笔记[通俗易懂]Android框架揭秘InsiedtheAndroidFramework

    2022年7月1日
    18
  • linux命令_linux挂载cifs报错

    linux命令_linux挂载cifs报错[pcd@localhostax_peta]$petalinux-config–get-hw-description../SG400_top_hw_platform_1INFO:Gettinghardwaredescription…cp:omittingdirectory‘/home/pcd/peta_prj/SG400_top_hw_platform_1/cache…

    2025年10月29日
    4
  • Scikit中的特征选择,XGboost进行回归预测,模型优化的实战

    Scikit中的特征选择,XGboost进行回归预测,模型优化的实战前天偶然在一个网站上看到一个数据分析的比赛(sofasofa),自己虽然学习一些关于机器学习的内容,但是并没有在比赛中实践过,于是我带着一种好奇心参加了这次比赛。赛题:足球运动员身价估计比赛概述本比赛为个人练习赛,主要针对于于数据新人进行自我练习、自我提高,与大家切磋。练习赛时限:2018-03-05至2020-03-05任务类…

    2022年4月28日
    55

发表回复

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

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