Android实现ListView的A-Z字母排序跟过滤搜索功能,实现汉字转成拼音

Android实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音转载请注明出处:http://blog.csdn.net/

Android实现ListView的A-Z字母排序和过滤搜索功能,实现汉字转成拼音

转载请注明出处:http://blog.csdn.net/xiaanming/article/details/12684155


前段时间因为换工作的缘故又恰巧碰到国庆节,所以有段时间自己没有更新博客了,过完国庆到新公司报道,感觉还不错,就是现在住的地方离新公司有点远,地铁20站,伤不起啊,我每天早上7点多就要起床,然后屁颠屁颠的去挤地铁上班,晚上下班还要挤地铁,先不说路程远,车费一天就要10几块,我的银子啊,有坐龙华线去上班的深圳程序员不?听说那条线上班高峰期很挤?我没在上班高峰期坐过那趟车,我在民治那边找了个房子,离华强北也不远,关键房租便宜,哈哈,乐开花了,下个礼拜就要搬过去啦

不扯了,回到主题,今天给大家带来ListView的A-Z字母排序和过滤搜索功能并且实现汉字转成拼音的功能,我们知道一般我们对联系人,城市列表等实现A-Z的排序,因为联系人和城市列表我们可以直接从数据库中获取他的汉字拼音,而对于一般的数据,我们怎么实现A-Z的排序,我们需要将汉字转换成拼音就行了,接下来就带大家实现一般数据的A-Z排序功能,首先先看下效果图

Android实现ListView的A-Z字母排序跟过滤搜索功能,实现汉字转成拼音Android实现ListView的A-Z字母排序跟过滤搜索功能,实现汉字转成拼音Android实现ListView的A-Z字母排序跟过滤搜索功能,实现汉字转成拼音


上面是一个带删除按钮的EditText,我们在输入框中输入可以自动过滤出我们想要的东西,当输入框中没有数据自动替换到原来的数据列表,然后下面一个ListView用来显示数据列表,右侧是一个字母索引表,当我们点击不同的字母,ListView会定位到该字母地方,了解了布局之后,我们先看下项目结构吧

Android实现ListView的A-Z字母排序跟过滤搜索功能,实现汉字转成拼音

我按照项目中类的顺序来一一介绍其功能

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

package com.example.sortlistview;import java.util.Comparator;/** *  * @author xiaanming * */public class PinyinComparator implements Comparator<SortModel> {public int compare(SortModel o1, SortModel o2) {//这里主要是用来对ListView里面的数据根据ABCDEFG...来排序if (o2.getSortLetters().equals("#")) {return -1;} else if (o1.getSortLetters().equals("#")) {return 1;} else {return o1.getSortLetters().compareTo(o2.getSortLetters());}}}


这样我们以后使用A-Z排序就没要局限性了,想加这个效果随时都行,其他的布局和图片之类的文件就不贴出来了,如果大家有兴趣的自行去下载代码吧,如果大家有什么疑问,请在下面留言,我会为大家解答的!

项目源码,点击下载




11楼u01114838329分钟前
思路清晰,逻辑贯穿,代码注释够足,值得借鉴,好东西,收了.................
10楼xdx2ct1314昨天 21:12
请问楼主,排序完成后 如果我输入张,那么怎样显示所有姓张的名字呢?
Re: xiaanming56分钟前
回复xdx2ct1314n我这里有实现这个功能的
9楼ALoveBtoC昨天 20:09
定一个,收藏鸟!
8楼wuwen__zhousi昨天 18:01
非常不错,项目中可以用到!
7楼jingdalu昨天 17:53
向你学习
6楼u011423845昨天 16:16
不错,收藏下
5楼sara_loveyou昨天 16:02
有条不紊,思绪清晰。
4楼liutengt昨天 11:52
不错 ,wp有这样的控件nandroid也应该搞个
Re: xiaanming昨天 11:54
回复liutengtn你是搞WP开发的?
3楼u010820184昨天 11:08
很详细,还开源,nice!
2楼u011960402昨天 09:47
不错,很好
1楼suannai0314昨天 09:05
您的文章已被推荐到CSDN首页,感谢您的分享。
Re: xiaanming昨天 09:34
回复suannai0314n感谢推荐!