android 如何输入首字母进行地址城市模糊检索

android 如何输入首字母进行地址城市模糊检索,第1张

Android中ListView的A-Z字母排序和过滤搜索功能并且实现汉字转成拼音的功能,一般对联系人,城市列表等实现A-Z的排序,因为联系人和城市列表可以直接从数据库中获取它的汉字拼音,而对于一般的数据,实现A-Z的排序,基实只需要将汉字转换成拼音就行了。

以下为步骤:

SortModel 一个实体类,里面一个是ListView的name,另一个就是显示的name拼音的首字母。

2.SideBar类就是ListView右侧的字母索引View,需要使用setTextView(TextView mTextDialog)来设置用来显示当前按下的字母的TextView,以及使用setOnTouchingLetterChangedListener方法来设置回调接口,在回调方法onTouchingLetterChanged(String s)中来处理不同的 *** 作。

3.CharacterParser 这个类是将汉字转换成拼音的类,该拼音没有声调的,该类是单例类,其中定义了三个方法,在这个demo中用到的是getSelling(String chs)方法,将词组转换成拼音。

4.ClearEditText类是自定义的一个在右侧有删除图片的EditText,当然也可以用Android原生的EditText,这里就不贴上代码了Android 带清除功能的输入框控件ClearEditText,仿IOS的输入框。

5.SortAdapter 数据的适配器类,该类需要实现SectionIndexer接口,该接口是用来控制ListView分组的。

6.最后运行效果

130582 沙河市

130600保定市

130601 市辖区

130602新市区

130603北市区

130604南市区

130621 满城县

130622 清苑县

130623 涞水县

130624 阜平县

130625 徐水县

130626 定兴县

130627 唐 县

130628 高阳县

130629 容城县

130630 涞源县

130631 望都县

130632 安新县

130633 易 县

130634 曲阳县

A:亚特兰大(ATLANTA)、亚丁(ADEN)、雅典(ATHENS)、

D:迪拜(DUBAI)、大马士革(DAMASCUS)、底特律(DETROIT )

L:拉斯维加斯(LASVEGAS)、伦敦(LONDON)、洛杉矶(LOSANGELES)

I:伊斯兰堡(ISLAMABAD)、国际瀑布城(INTERNATIONALFALLS)、

O:安大略湖(ONTARIO)、渥太华(OTTAWA)、大阪(OSAKA)、冲绳(OKINAWA)

X:

W:华盛顿(WASHINGTON)、

挑选了一些是鸟都生蛋的地方,你参考一下,XX的城市实在是找不到了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10026547.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存