Android TextWatcher監控EditText中的輸入內容並限制其輸入字元個數
Android的編輯框控制元件EditText在平常程式設計時會經常用到,有時候會對編輯框增加某些限制,如限制只能輸入數字,最大輸入的文字個數,不能輸入
一些非法字元等,這些需求有些可以使用android控制元件屬性直接寫在佈局xml檔案裡,比如android:numeric="integer"(只允
許輸入數字);
對於一些需求,如非法字元限制(例如不允許輸入#號,如果輸入了#給出錯誤提示),做成動態判斷更方便一些,而且容易擴充套件;
在Android裡使用TextWatcher介面可以很方便的對EditText進行監聽;TextWatcher中有3個函式需要過載:
public void beforeTextChanged(CharSequence s, int start, int count, int after);
public void onTextChanged(CharSequence s, int start, int before, int count);
public void afterTextChanged(Editable s);
從函式名就可以知道其意思,每當敲擊鍵盤編輯框的文字改變時,上面的三個函式都會執行,beforeTextChanged可以給出變化之前的內容,onTextChanged和afterTextChanged給出追加上新的字元之後的文字;
所以對字元的限制判斷可以在afterTextChanged函式中進行,如果檢查到新追加的字元為認定的非法字元,則在這裡將其delete掉,那麼他就不會顯示在編輯框裡了
相關文章
- app直播原始碼,監聽EditText輸入框內輸入內容的變化APP原始碼
- EditText中輸入資訊的限制的方法
- Angular.js 限制輸入框輸入內容,為純數字AngularJS
- 限制鍵盤輸入字元/位數字元
- EditText監聽方法,實時的判斷輸入多少字元字元
- Excel還能限制輸入內容?其實這樣能有效避免人員輸入錯誤Excel
- input輸入框加入限制只能輸入正整數,輸入其他字元會自動清除字元
- android:edittext 輸入問題Android
- android edittext InputFilter 輸入控制AndroidFilter
- Android多個EditText輸入效果解決方案Android
- javascript限制textarea文字框輸入字元個數程式碼例項JavaScript字元
- Android入門教程 | EditText 使用者輸入Android
- Vue使用antd中input元件去驗證輸入框輸入內容Vue元件
- Android基礎 Android EditText禁止輸入空格Android
- 輸入一段字串,去除字串中重複的字元,並輸出字串字元
- Mac監控鍵盤輸入並執行動作Mac
- ncurses輸入函式:字元+字串的輸入函式字元字串
- Adroid edittext 輸入小數時只能輸入到小數點後的固定位數
- C語言:計算輸入字元的個數C語言字元
- C語言計算輸入字元的個數C語言字元
- [Android] EditText設定只能輸入2位小數的探討Android
- 直播軟體開發,限制富文字框輸入的字元數上限字元
- 文字框限制輸入字數的JSJS
- Julia 內建的數學常量與 Unicode 字元輸入Unicode字元
- EXCEL中怎麼輸入@字元?Excel字元
- EditText輸入金額型別型別
- go 如何監控鍵盤輸入Go
- 輸入一個ASCII碼,輸出對應的字元ASCII字元
- SQLPLUS 下輸入命令的字元長度限制SQL字元
- js多個文字框輸入內容同步效果JS
- JavaScript 文字框輸入內容同步JavaScript
- jQuery文字框輸入內容同步jQuery
- Android中EditText隱藏/自動彈出輸入法的問題Android
- Input 輸入框中 只能輸入正整數
- 從一次輸入框無法輸入的bug,談如何限制輸入框輸入型別型別
- 短視訊軟體開發,flutter 輸入框限制輸入 數字、小數Flutter
- 微信小程式input輸入框設定最大可輸入字元數量微信小程式字元
- jQuery文字框內容輸入同步功能jQuery