Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> InputFilter實現EditText文本輸入過濾器

InputFilter實現EditText文本輸入過濾器

編輯: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為無論輸入什麼內容,都被自動替換成“FENGFLY.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) : "FENGFLY.COM";  
    }  
} }); 

由以上實例我們可以實現這樣一個功能,讓EditText控件無法輸入任何內容,如何做呢?只需要將以上的“FENGFLY.COM”替換成“”即可,每次輸入都等於沒輸入任何內容。

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved