您好,登錄后才能下訂單哦!
這篇文章給大家分享的是有關Android如何控制文本輸入框最多輸入10個字符長度的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
代碼如下:
et_name = (EditText) findViewById(R.id.et_name); // 控制輸入框最多輸入10個字符長度(五個漢字) et_name.setFilters(new InputFilter[] { new InputFilter() { @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { // 輸入內容是否超過設定值,最多輸入五個漢字10個字符 if (getTextLength(dest.toString()) + getTextLength(source.toString()) > MAX_LENGTH) { // 輸入框內已經有10個字符則返回空字符 if (getTextLength(dest.toString()) >= 10) { return ""; // 如果輸入框內沒有字符,且輸入的超過了10個字符,則截取前五個漢字 } else if (getTextLength(dest.toString()) == 0) { return source.toString().substring(0, 5); } else { // 輸入框已有的字符數為雙數還是單數 if (getTextLength(dest.toString()) % 2 == 0) { return source.toString().substring(0, 5 - (getTextLength(dest.toString()) / 2)); } else { return source.toString().substring(0, 5 - (getTextLength(dest.toString()) / 2 + 1)); } } } return null; } }});
getTextLength(String text);方法
/** * 獲取字符數量 漢字占2個,英文占一個 * * @param text * @return */ public static int getTextLength(String text) { int length = 0; for (int i = 0; i < text.length(); i++) { if (text.charAt(i) > 255) { length += 2; } else { length++; } } return length; }
感謝各位的閱讀!關于“Android如何控制文本輸入框最多輸入10個字符長度”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。