編輯:關於Android編程
EditText是Android的文本輸入框控件,這地球人應該都知道的了,但是默認的EditText是無所不能輸入的,有時候我們需要設計一 款軟件,而且是給小孩子使用的,而且需要屏蔽以下未成年人所不能涉及的內容,也就是屏蔽某些所不能輸入的文字的時候,該如何做呢?
其實Android的SDK早已經為我們想過這個問題了,它為我們提供了一個叫做InputFilter的東西,通過它我們可以輕松的設計一個過濾器,用於屏蔽用戶的某些輸入,或者將輸入改成某些良性的內容,從而解決了以上的問題。
實現InputFilter過濾器,需要覆蓋一個叫filter的方法。
public abstract CharSequence filter ( CharSequence source, //輸入的文字 int start, //開始位置 int end, //結束位置 Spanned dest, //當前顯示的內容 int dstart, //當前開始位置 int dend //當前結束位置 );
以下實現的InputFilter為無論輸入什麼內容,都被自動替換成“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"; } } });
由以上實例我們可以實現這樣一個功能,讓EditText控件無法輸入任何內容,如何做呢?只需要將以上的“ATAAW.COM”替換成“”即可,每次輸入都等於沒輸入任何內容。
此處在添加個我用的不多,容易忘的兩個api:
indexOf()的用法:
返回字符中indexof(string)中字串string在父串中首次出現的位置,
比如:String ss = "1111.';
int index = ss .indexOf(".");
index的值為4; //從0開始
substring用法:
str=str.substring(int beginIndex);截取掉str從首字母起長度為beginIndex的字符串,將剩余字符串賦值給str;
str=str.substring(int beginIndex,int endIndex);截取str中從beginIndex開始至endIndex結束時的字符串,並將其賦值給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實現EditText文本輸入過濾器實例代碼解析,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對本站網站的支持!
一、調用Android lint命令查找出沒有用到的資源,並生成一個清單列表:命令:lint –check “UnusedResources” [project_path
android系統cpu資源相關查詢 我們都知道android是基於linux系統內核的,在linux系統中我們查看系統資源消耗情況,一個可以直接通過命令行的
示例效果如下: MainActivity.xmlpackage sn.qdj.popupwindowdemo;import android.support.v7
隨著谷歌的Gradle插件版本的不斷升級,Gradle插件現在最新的已經到了2.1.0-beta1,對應的依賴為com.android.tools.build:gradl