即興的靈感

          思維是一種藝術(shù); 藝術(shù)需要靈感。

          博客好友

          最新評(píng)論

          InputFilter實(shí)現(xiàn)EditText文本輸入過(guò)濾器

          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,  //開始位置
          int end,  //結(jié)束位置
          Spanned dest, //當(dāng)前顯示的內(nèi)容
          int dstart,  //當(dāng)前開始位置
          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)容。文章



          ?
          鳳凰涅槃/浴火重生/馬不停蹄/只爭(zhēng)朝夕
          ???? 隱姓埋名/低調(diào)華麗/簡(jiǎn)單生活/完美人生

          posted on 2010-11-08 09:44 poetguo 閱讀(7926) 評(píng)論(0)  編輯  收藏 所屬分類: Android

          主站蜘蛛池模板: 钟祥市| 崇左市| 盐津县| 凉山| 文化| 仲巴县| 福建省| 湟源县| 双鸭山市| 渭源县| 油尖旺区| 海林市| 永丰县| 凌云县| 兴仁县| 合江县| 石屏县| 广州市| 灵宝市| 海宁市| 集贤县| 巨鹿县| 锦屏县| 麻城市| 昌乐县| 佛学| 开远市| 天长市| 白朗县| 沁阳市| 乐都县| 莱州市| 高陵县| 盘锦市| 波密县| 体育| 黄山市| 茶陵县| 盐源县| 高台县| 盐山县|