-
Android实现ListView的A-Z字母排序和过滤搜索功能
免费版 -
- 软件大小:10M
- 软件语言:中文
- 软件类型:国产软件 / 源码下载
- 软件授权:免费软件
- 更新时间:2017-06-30 14:47
- 软件等级:
- 应用平台:WinXP, Win7, Win8, Win10
- 软件官网:暂无
相关软件
传世裁决手游果盘版v3.1.3 安卓版
236M/中文/10.0
九游寻侠客手游v1.1 安卓官方版
116.6M/中文/10.0
UCenter1.6.0简体GBK
582KB/中文/10.0
exe资源查看器(MiTeC EXE Explorer)v2.7.1.
4M/中文/10.0
VB源码转换工具(VBto Converter)v2.56 特别
11.9M/中文/10.0
软件介绍人气软件精品推荐相关文章网友评论下载地址
-
Android字母排序索引开源源码是一份非常实用的Android开发源码,这份代码可以实现ListView的A-Z字母排序和过滤搜索功能,在开发工作中经常会需要用到这个功能,小编特意为大家整理了这份源码,希望能帮助到大家。感兴趣的朋友欢迎前来IT猫扑下载体验吧!
Android实现A-Z字母排序索引源码介绍
今天给大家带来ListView的A-Z字母排序和过滤搜索功能并且实现汉字转成拼音的功能,我们知道一般我们对联系人,城市列表等实现A-Z的排序,因为联系人和城市列表我们可以直接从数据库中获取他的汉字拼音,而对于一般的数据,我们怎么实现A-Z的排序,我们需要将汉字转换成拼音就行了,接下来就带大家实现一般数据的A-Z排序功能,一个带删除按钮的EditText,我们在输入框中输入可以自动过滤出我们想要的东西,当输入框中没有数据自动替换到原来的数据列表,然后下面一个ListView用来显示数据列表,右侧是一个字母索引表,当我们点击不同的字母,ListView会定位到该字母地方。
Android实现A-Z字母排序索引功能介绍
我按照项目中类的顺序来一一介绍其功能
1.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分组的,该接口有三个方法getSectionForPosition(int position),getPositionForSection(int section),getSections(),我们只需要自行实现前面两个方法
getSectionForPosition(int position)是根据ListView的position来获取该位置上面的name的首字母char的ascii值,例如: 如果该position上面的name是阿妹,首字母就是A,那么此方法返回的就是'A'字母的ascii值,也就是65, 'B'是66,依次类推
getPositionForSection(int section)就是根据首字母的ascii值来获取在该ListView中第一次出现该首字母的位置,例如:从上面的效果图1中,如果section是66 ,也就是‘B’的ascii值,那么该方法返回的position就是2
然后就是getView()方法,首先我们根据ListView的position调用getSectionForPosition(int position)来获取该位置上面name的首字母的ascii值,然后根据这个ascii值调用getPositionForSection(int section)来获取第一次出现该首字母的position,如果ListView的position 等于 根据这个ascii值调用getPositionForSection(int section)来获取第一次出现该首字母的position,则显示分类字母 否则隐藏
6.MainActivity 这里面的代码比较简单,我们对ClearEditText设置addTextChangedListener监听,当输入框内容发生变化根据里面的值过滤ListView,里面的值为空显示原来的列表,里面对列表数据进行排序用到PinyinComparator接口,该接口主要是用来比较对象的
7.PinyinComparator接口用来对ListView中的数据根据A-Z进行排序,前面两个if判断主要是将不是以汉字开头的数据放在后面
这样我们以后使用A-Z排序就没要局限性了,想加这个效果随时都行,其他的布局和图片之类的文件就不贴出来了,如果大家有兴趣的自行去下载代码吧,如果大家有什么疑问,请在下面留言,我会为大家解答的!
Android介绍
Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。尚未有统一中文名称,中国大陆地区较多人使用“安卓”或“安致”。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。Android逐渐扩展到平板电脑及其他领域上,如电视、数码相机、游戏机等。2011年第一季度,Android在全球的市场份额首次超过塞班系统,跃居全球第一。 2013年的第四季度,Android平台手机的全球市场份额已经达到78.1%。2013年09月24日谷歌开发的操作系统Android在迎来了5岁生日,全世界采用这款系统的设备数量已经达到10亿台。
-
更多>>软件截图
推荐软件
SupeSite内容管理系统 2.0M
下载/中文/1v7.5 简体中文GBKphp smarty模板 91KB
下载/中文/1v2.6.18 免费版新云网站内容管理系统 4.3M
下载/中文/1v3.1.0.1231 正式版Discuz! X2.5 正式版 17.1M
下载/中文/1简体中文GBK+UTF8版Discuz! v7.0.0 简体GBK 独立安装包 3.7M
下载/中文/1vbuild 20081224 官方正式版Discuz!NT v2.6.1 For Access 15.2M
下载/中文/1ThinkPHP 3.8M
下载/中文/1v5.0.10 官方完整版动网论坛Dvbbs 5.3M
下载/中文/1v8.3 官方版
其他版本下载
精品推荐免费开源软件
- 更多 (79个) >>免费开源软件免费开源软件就是类似小巧无捆绑免费开源跨平台的免费软件,实用免费且不需要花费更多的经历和钱财去破解或者付费,在这里给大家整理出了很多不同类型行业所需求的开源软件,软件既然连源代码都公开,因此开源软件具
layer ui509KB
/中文/1UML建模软件(ArgoUML)15.7M
/多国语言[中文]/0IntelliJ IDEA 2019中文版575M
/中文/1Java Decompiler(JD-GUI反编译工具)5M
/中文/0Pycharm 2019最新官方版393M
/中文/1rstudio(R语言)85.7M
/中文/0Inkscape矢量绘图软件90.9M
/多国语言[中文]/1mendeley desktop 32位/64位(文献管理软件)21M
/中文/0Mozilla Thunderbird106M
/多国语言[中文]/1FileZilla Pro开源FTP软件专业版23.3M
/中文/0
相关文章
-
下载地址
-
Android实现ListView的A-Z字母排序和过滤搜索功能 免费版
-
-
查看所有评论>>网友评论
-
更多>>猜你喜欢