InputFilter實(shí)現(xiàn)EditText文本輸入過(guò)濾器實(shí)例代碼解析
EditText是Android的文本輸入框控件,這地球人應(yīng)該都知道的了,但是默認(rèn)的EditText是無(wú)所不能輸入的,有時(shí)候我們需要設(shè)計(jì)一 款軟件,而且是給小孩子使用的,而且需要屏蔽以下未成年人所不能涉及的內(nèi)容,也就是屏蔽某些所不能輸入的文字的時(shí)候,該如何做呢?
其實(shí)Android的SDK早已經(jīng)為我們想過(guò)這個(gè)問(wèn)題了,它為我們提供了一個(gè)叫做InputFilter的東西,通過(guò)它我們可以輕松的設(shè)計(jì)一個(gè)過(guò)濾器,用于屏蔽用戶的某些輸入,或者將輸入改成某些良性的內(nèi)容,從而解決了以上的問(wèn)題。
實(shí)現(xiàn)InputFilter過(guò)濾器,需要覆蓋一個(gè)叫filter的方法。
public abstract CharSequence filter ( CharSequence source, //輸入的文字 int start, //開(kāi)始位置 int end, //結(jié)束位置 Spanned dest, //當(dāng)前顯示的內(nèi)容 int dstart, //當(dāng)前開(kāi)始位置 int dend //當(dāng)前結(jié)束位置 );
以下實(shí)現(xiàn)的InputFilter為無(wú)論輸入什么內(nèi)容,都被自動(dòng)替換成“ATAAW.COM”。
editText.setFilters(new InputFilter[] { new InputFilter() { public CharSequence filter(CharSequence src, int start, int end, Spanned dst, int dstart, int dend) { return src.length() < 1 ? dst.subSequence(dstart, dend) : "ATAAW.COM"; } } });
由以上實(shí)例我們可以實(shí)現(xiàn)這樣一個(gè)功能,讓EditText控件無(wú)法輸入任何內(nèi)容,如何做呢?只需要將以上的“ATAAW.COM”替換成“”即可,每次輸入都等于沒(méi)輸入任何內(nèi)容。
此處在添加個(gè)我用的不多,容易忘的兩個(gè)api:
indexOf()的用法:
返回字符中indexof(string)中字串string在父串中首次出現(xiàn)的位置,
比如:String ss = "1111.';
int index = ss .indexOf(".");
index的值為4; //從0開(kāi)始
substring用法:
str=str.substring(int beginIndex);截取掉str從首字母起長(zhǎng)度為beginIndex的字符串,將剩余字符串賦值給str;
str=str.substring(int beginIndex,int endIndex);截取str中從beginIndex開(kāi)始至endIndex結(jié)束時(shí)的字符串,并將其賦值給str;
比如:
String s1 ="1234567890abcdefgh"; s1 = s1.substring(10);
s1的值為:abcdefgh
String s1 ="1234567890abcdefgh"; s1 = s1.substring(0,9); System.out.println(s1);
s1的值為:123456789
以上所述是小編給大家介紹的 InputFilter實(shí)現(xiàn)EditText文本輸入過(guò)濾器實(shí)例代碼解析,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
導(dǎo)入takephoto庫(kù)編譯失敗與glide庫(kù)沖突應(yīng)排除依賴
今天小編就為大家分享一篇關(guān)于導(dǎo)入takephoto庫(kù)編譯失敗與glide庫(kù)沖突應(yīng)排除依賴的文章,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2018-10-10神奇的listView實(shí)現(xiàn)自動(dòng)顯示隱藏布局Android代碼
這篇文章主要介紹了神奇的listView實(shí)現(xiàn)自動(dòng)顯示隱藏布局Android代碼實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09

Android App開(kāi)發(fā)中ViewPager組件的入門使用教程

Android Studio使用USB真機(jī)調(diào)試詳解

Android實(shí)現(xiàn)動(dòng)態(tài)自動(dòng)匹配輸入內(nèi)容

Android調(diào)用相機(jī)并將照片存儲(chǔ)到sd卡上實(shí)現(xiàn)方法

Android EditText 實(shí)現(xiàn)監(jiān)聽(tīng)實(shí)例