Android編程之TextView的字符過濾功能分析
本文實(shí)例分析了Android編程之TextView的字符過濾功能。分享給大家供大家參考,具體如下:
TextView可以設(shè)置接受各式各樣的字符,通過過濾指定的字符來滿足不同應(yīng)用的輸入和顯示要求。
通過xml配置:
android:InputType
number 接受整數(shù)輸入
numberSigned 接受有符號(hào)整數(shù)輸入
numberDecimal 接受整數(shù)和小數(shù)的輸入
android:digits
指定接受固定的數(shù)字,如android:digits="012345",則只接受0~5數(shù)字的輸入
android:numberic
integer 接受整數(shù)輸入
signed 接受有符號(hào)整數(shù)輸入
decimal 接受整數(shù)和小數(shù)輸入
通過java代碼設(shè)置
其實(shí)以上3個(gè)屬性,功能有點(diǎn)重復(fù),最終都是通過java代碼來對(duì)TextView設(shè)置KeyListener
KeyListener是一個(gè)接口,提供了對(duì)輸入鍵盤按鍵的監(jiān)聽
InputFilter是一個(gè)接口,提供了對(duì)字符的過濾
android提供了實(shí)現(xiàn)了KeyListener和InputFilter的NumberKeyListener,而DigitsKeyListener繼承了NumberKeyListener
TextView tv = new TextView(context); //只接受整數(shù)輸入 KeyListener l = new DigitsKeyListener(fasle,false); //接受有符號(hào)整數(shù)輸入 KeyListener l = new DigitsKeyListener(true,false); //接受小數(shù),整數(shù)輸入 KeyListener l = new DigitsKeyListener(false,true); //接受有符號(hào)整數(shù)/小數(shù)輸入 KeyListener l = new DigitsKeyListener(true,true); tv.setKeyListener(l);
如果想要實(shí)現(xiàn)更大自由度的過濾定制,可以自己寫一個(gè)KeyListener(繼承BaseKeyListener)并實(shí)現(xiàn)InputFilter,重寫filter()函數(shù),在filter()函數(shù)里可以實(shí)現(xiàn)自由的過濾。
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android中TextView自動(dòng)識(shí)別url且實(shí)現(xiàn)點(diǎn)擊跳轉(zhuǎn)
- IOS 中UITextField和UITextView中字符串為空和空格的解決辦法
- iOS UITextField、UITextView只限輸入中文、英文、數(shù)字及實(shí)時(shí)限制字符個(gè)數(shù)的封裝實(shí)現(xiàn)代碼
- Android實(shí)現(xiàn)TextView字符串關(guān)鍵字變色的方法
- Android設(shè)置TextView顯示指定個(gè)數(shù)字符,超過部分顯示...(省略號(hào))的方法
- TextView中URL等指定特殊字符串與點(diǎn)擊事件解析
相關(guān)文章
Android?TextView的maxEms和maxLength屬性區(qū)別
這篇文章主要為大家介紹了Android?TextView的maxEms和maxLength屬性區(qū)別,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03詳解關(guān)于MIUI 9沉浸式狀態(tài)欄的最新適配
由于各系統(tǒng)版本的限制,沉浸式狀態(tài)欄對(duì)系統(tǒng)有要求,本篇文章主要介紹了詳解關(guān)于MIUI 9沉浸式狀態(tài)欄的最新適配,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-05-05Android PreferenceActivity與PreferenceFragment詳解及簡(jiǎn)單實(shí)例
這篇文章主要介紹了Android PreferenceActivity與PreferenceFragment詳解及簡(jiǎn)單實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-12-12一款A(yù)ndroid APK的結(jié)構(gòu)構(gòu)成解析
本篇文章介紹了我在學(xué)習(xí)過程中對(duì)于Android 程序的理解總結(jié),刨析了apk的組成與產(chǎn)生過程,通讀本篇對(duì)大家的學(xué)習(xí)或工作具有一定的價(jià)值,需要的朋友可以參考下2021-10-10Android編程中activity的完整生命周期實(shí)例詳解
這篇文章主要介紹了Android編程中activity的完整生命周期,結(jié)合實(shí)例形式較為詳細(xì)的分析了Android編程中activity的原理與具體用法,需要的朋友可以參考下2015-12-12Android使用ContentResolver搜索手機(jī)通訊錄的方法
這篇文章主要介紹了Android使用ContentResolver搜索手機(jī)通訊錄的方法,結(jié)合實(shí)例形式分析了Android中ContentResolver操作手機(jī)通訊錄的具體步驟與相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2016-01-01Android項(xiàng)目中實(shí)體類entity的作用詳解
這篇文章主要介紹了Android項(xiàng)目中實(shí)體類entity的作用詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-04-04Android App中使用LinearLayout進(jìn)行居中布局的實(shí)例講解
這篇文章主要介紹了Android App中使用LinearLayout進(jìn)行居中布局的實(shí)例講解,文中分別介紹了水平居中和垂直居中的相關(guān)線性布局,需要的朋友可以參考下2016-04-04