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的城市实在是找不到了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)