1. 程式人生 > >Android字數限制的EditText實現方案研究

Android字數限制的EditText實現方案研究

這個方案由於中英文都佔一個字數,因此可以直接給EditText設定InputFilter.LengthFilter,這時LengthFilter會自動幫EditText限制使用者輸入的內容;再給EditText設定TextWatcher監聽器,就可以實時更新剩餘字數了。

本文綜合上面兩個方案,給出【方案三】,每個中文字元算一個字數,每兩個英文字元算一個字數,當用戶輸入內容時,實時顯示剩餘的字數,當超出字數限制時,剩餘字數顯示為0,不會出現負數的情況,這時EditText再也不接收使用者輸入的任何內容了。

方案三可用於app需要整合第三方sns分享功能,且必須自己實現分享介面的情況。由於中英文所佔的字數不一樣,就不能使用LengthFilter來限制使用者再EditText中輸入內容(因為在使用者完成內容輸入之前,是不知道要給lengthFilter設定的最大值的)。因此只能在TextWatcher中做些手腳了。方案三介面如下: