Android實(shí)現(xiàn)ListView的A-Z字母排序和過濾搜索功能
免費(fèi)版- 軟件大?。?span itemprop="fileSize">10.00 MB
- 軟件語言:中文
- 軟件類型:國(guó)產(chǎn)軟件 / 源碼下載
- 軟件授權(quán): 免費(fèi)軟件
- 更新時(shí)間:2017-06-30 14:47:43
- 軟件等級(jí):
- 軟件廠商: -
- 應(yīng)用平臺(tái):WinXP, Win7, Win8, Win10
- 軟件官網(wǎng): 暫無
相關(guān)軟件
山西云上婦幼appv1.0.0 安卓版
45.50 MB/中文/10.0
彩虹秒贊最新源碼v7.0 正式版
3.03 MB/中文/0.0
蜘蛛墜落最新版v13.0 安卓版
52.27 MB/中文/10.0
繪本奇妙夜v2.9 安卓版
241.00 MB/中文/10.0
IDA pro(源碼恢復(fù)反匯編靜態(tài)分析工具)v5.5.0.925 漢化破解版
87.61 MB/中文/5.0
軟件介紹人氣軟件精品推薦相關(guān)文章網(wǎng)友評(píng)論下載地址
Android字母排序索引開源源碼是一份非常實(shí)用的Android開發(fā)源碼,這份代碼可以實(shí)現(xiàn)ListView的A-Z字母排序和過濾搜索功能,在開發(fā)工作中經(jīng)常會(huì)需要用到這個(gè)功能,小編特意為大家整理了這份源碼,希望能幫助到大家。感興趣的朋友歡迎前來IT貓撲下載體驗(yàn)吧!
Android實(shí)現(xiàn)A-Z字母排序索引源碼介紹
今天給大家?guī)鞮istView的A-Z字母排序和過濾搜索功能并且實(shí)現(xiàn)漢字轉(zhuǎn)成拼音的功能,我們知道一般我們對(duì)聯(lián)系人,城市列表等實(shí)現(xiàn)A-Z的排序,因?yàn)槁?lián)系人和城市列表我們可以直接從數(shù)據(jù)庫中獲取他的漢字拼音,而對(duì)于一般的數(shù)據(jù),我們?cè)趺磳?shí)現(xiàn)A-Z的排序,我們需要將漢字轉(zhuǎn)換成拼音就行了,接下來就帶大家實(shí)現(xiàn)一般數(shù)據(jù)的A-Z排序功能,一個(gè)帶刪除按鈕的EditText,我們?cè)谳斎肟蛑休斎肟梢宰詣?dòng)過濾出我們想要的東西,當(dāng)輸入框中沒有數(shù)據(jù)自動(dòng)替換到原來的數(shù)據(jù)列表,然后下面一個(gè)ListView用來顯示數(shù)據(jù)列表,右側(cè)是一個(gè)字母索引表,當(dāng)我們點(diǎn)擊不同的字母,ListView會(huì)定位到該字母地方。
Android實(shí)現(xiàn)A-Z字母排序索引功能介紹
我按照項(xiàng)目中類的順序來一一介紹其功能
1.SortModel 一個(gè)實(shí)體類,里面一個(gè)是ListView的name,另一個(gè)就是顯示的name拼音的首字母
2.SideBar類就是ListView右側(cè)的字母索引View,我們需要使用setTextView(TextView mTextDialog)來設(shè)置用來顯示當(dāng)前按下的字母的TextView,以及使用setOnTouchingLetterChangedListener方法來設(shè)置回調(diào)接口,在回調(diào)方法onTouchingLetterChanged(String s)中來處理不同的操作
3.CharacterParser 這個(gè)類是將漢字轉(zhuǎn)換成拼音的類,該拼音沒有聲調(diào)的,該類是單例類,其中定義了三個(gè)方法,在這個(gè)demo中用到的是getSelling(String chs)方法,將詞組轉(zhuǎn)換成拼音
4.ClearEditText類是自定義的一個(gè)在右側(cè)有刪除圖片的EditText,當(dāng)然你也可以用Android原生的EditText,該類我之前有介紹,我這里就不貼上代碼了Android 帶清除功能的輸入框控件ClearEditText,仿IOS的輸入框
5.SortAdapter 數(shù)據(jù)的適配器類,該類需要實(shí)現(xiàn)SectionIndexer接口,該接口是用來控制ListView分組的,該接口有三個(gè)方法getSectionForPosition(int position),getPositionForSection(int section),getSections(),我們只需要自行實(shí)現(xiàn)前面兩個(gè)方法
getSectionForPosition(int position)是根據(jù)ListView的position來獲取該位置上面的name的首字母char的ascii值,例如: 如果該position上面的name是阿妹,首字母就是A,那么此方法返回的就是'A'字母的ascii值,也就是65, 'B'是66,依次類推
getPositionForSection(int section)就是根據(jù)首字母的ascii值來獲取在該ListView中第一次出現(xiàn)該首字母的位置,例如:從上面的效果圖1中,如果section是66 ,也就是‘B’的ascii值,那么該方法返回的position就是2
然后就是getView()方法,首先我們根據(jù)ListView的position調(diào)用getSectionForPosition(int position)來獲取該位置上面name的首字母的ascii值,然后根據(jù)這個(gè)ascii值調(diào)用getPositionForSection(int section)來獲取第一次出現(xiàn)該首字母的position,如果ListView的position 等于 根據(jù)這個(gè)ascii值調(diào)用getPositionForSection(int section)來獲取第一次出現(xiàn)該首字母的position,則顯示分類字母 否則隱藏
6.MainActivity 這里面的代碼比較簡(jiǎn)單,我們對(duì)ClearEditText設(shè)置addTextChangedListener監(jiān)聽,當(dāng)輸入框內(nèi)容發(fā)生變化根據(jù)里面的值過濾ListView,里面的值為空顯示原來的列表,里面對(duì)列表數(shù)據(jù)進(jìn)行排序用到PinyinComparator接口,該接口主要是用來比較對(duì)象的
7.PinyinComparator接口用來對(duì)ListView中的數(shù)據(jù)根據(jù)A-Z進(jìn)行排序,前面兩個(gè)if判斷主要是將不是以漢字開頭的數(shù)據(jù)放在后面
這樣我們以后使用A-Z排序就沒要局限性了,想加這個(gè)效果隨時(shí)都行,其他的布局和圖片之類的文件就不貼出來了,如果大家有興趣的自行去下載代碼吧,如果大家有什么疑問,請(qǐng)?jiān)谙旅媪粞?,我?huì)為大家解答的!
Android介紹
Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。尚未有統(tǒng)一中文名稱,中國(guó)大陸地區(qū)較多人使用“安卓”或“安致”。Android操作系統(tǒng)最初由Andy Rubin開發(fā),主要支持手機(jī)。2005年8月由Google收購注資。2007年11月,Google與84家硬件制造商、軟件開發(fā)商及電信營(yíng)運(yùn)商組建開放手機(jī)聯(lián)盟共同研發(fā)改良Android系統(tǒng)。隨后Google以Apache開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。第一部Android智能手機(jī)發(fā)布于2008年10月。Android逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上,如電視、數(shù)碼相機(jī)、游戲機(jī)等。2011年第一季度,Android在全球的市場(chǎng)份額首次超過塞班系統(tǒng),躍居全球第一。 2013年的第四季度,Android平臺(tái)手機(jī)的全球市場(chǎng)份額已經(jīng)達(dá)到78.1%。2013年09月24日谷歌開發(fā)的操作系統(tǒng)Android在迎來了5歲生日,全世界采用這款系統(tǒng)的設(shè)備數(shù)量已經(jīng)達(dá)到10億臺(tái)。
更多>> 軟件截圖
推薦應(yīng)用
SupeSite內(nèi)容管理系統(tǒng) 1.97 MB
下載/中文/10.0 v7.5 簡(jiǎn)體中文GBKphp smarty模板 91.00 KB
下載/中文/3.0 v2.6.18 免費(fèi)版新云網(wǎng)站內(nèi)容管理系統(tǒng) 4.25 MB
下載/中文/10.0 v3.1.0.1231 正式版Discuz! X2.5 正式版 17.06 MB
下載/中文/10.0 簡(jiǎn)體中文GBK+UTF8版Discuz! v7.0.0 簡(jiǎn)體GBK 獨(dú)立安裝包 3.70 MB
下載/中文/10.0 vbuild 20081224 官方正式版Discuz!NT v2.6.1 For Access 15.20 MB
下載/中文/10.0ThinkPHP 3.78 MB
下載/中文/10.0 v5.0.10 官方完整版動(dòng)網(wǎng)論壇Dvbbs 5.33 MB
下載/中文/3.0 v8.3 官方版
其他版本下載
精品推薦 免費(fèi)開源軟件
- 更多 (79個(gè)) >> 免費(fèi)開源軟件 免費(fèi)開源軟件就是類似小巧無捆綁免費(fèi)開源跨平臺(tái)的免費(fèi)軟件,實(shí)用免費(fèi)且不需要花費(fèi)更多的經(jīng)歷和錢財(cái)去破解或者付費(fèi),在這里給大家整理出了很多不同類型行業(yè)所需求的開源軟件,軟件既然連源代碼都公開,因此開源軟件具備可以免費(fèi)使用和公布源代碼的主要特征,開源軟件不一定是免費(fèi)軟件,它公開源碼,可以
layer ui 509.00 KB
/中文/10.0UML建模軟件(ArgoUML) 15.74 MB
/多國(guó)語言[中文]/0.0IntelliJ IDEA 2019中文版 575.00 MB
/中文/10.0Java Decompiler(JD-GUI反編譯工具) 5.00 MB
/中文/0.0Pycharm 2019最新官方版 393.00 MB
/中文/1.0rstudio(R語言) 85.70 MB
/中文/0.0Inkscape矢量繪圖軟件 90.90 MB
/多國(guó)語言[中文]/5.0mendeley desktop 32位/64位(文獻(xiàn)管理軟件) 21.00 MB
/中文/10.0
相關(guān)文章
下載地址
Android實(shí)現(xiàn)ListView的A-Z字母排序和過濾搜索功能 免費(fèi)版
查看所有評(píng)論>> 網(wǎng)友評(píng)論
更多>> 猜你喜歡