亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

android同時控制EditText輸入字符個數和禁止特殊字符輸入的方法

2020-04-11 11:36:58
字體:
來源:轉載
供稿:網友

本文實例講述了android同時控制EditText輸入字符個數和禁止特殊字符輸入的方法。分享給大家供大家參考。具體分析如下:

這里總結了三種方法如下:

方法一:

1. 引用兩個命名空間:

import android.text.TextWatcher; import android.text.Editable;

用于禁止特殊字符輸入控制

定義EditText mEditText對象

2. 控制字符長度:

通過InputFilter過濾來實現字符長度控制,這樣的好處是可以實現動態長度控制,而不是一個長度定值

int mMaxLenth = 20;InputFilter[] FilterArray = new InputFilter[1]; FilterArray[0] = new InputFilter() {  @Override  public CharSequence filter (CharSequence source, int start, int end,    Spanned dest, int dstart, int dend){  boolean bInvlid = false;  int sourceLen = getCharacterNum(source.toString());  int destLen = getCharacterNum(dest.toString());  if (sourceLen + destLen > mMaxLenth) {   return "";  }  return source;  } };mEditText.setFilters(FilterArray);

3. 禁止特殊字符輸入:

 mEditText.addTextChangedListener(new TextWatcher() {  String tmp = "";  String digits = "http:///:*?<>|/"/n/t";  @Override  public void onTextChanged(CharSequence s, int start, int before,   int count) {  mEditText.setSelection(s.length());  }  @Override  public void beforeTextChanged(CharSequence s, int start, int count,   int after) {  tmp = s.toString();  }  @Override  public void afterTextChanged(Editable s) {  String str = s.toString();  if (str.equals(tmp)) {   return;  }  StringBuffer sb = new StringBuffer();  for (int i = 0; i < str.length(); i++) {   if (digits.indexOf(str.charAt(i)) < 0) {   sb.append(str.charAt(i));   }  }  tmp = sb.toString();  mEditText.setText(tmp);  } });

方法二:

1. 添加引用:

import java.util.regex.*;

2. 定義函數:

public static String StringFilter(String str)throws PatternSyntaxException{  String regEx = "[///:*?<>|/"/n/t]"; //要過濾掉的字符 Pattern p = Pattern.compile(regEx);  Matcher m = p.matcher(str);  return m.replaceAll("").trim();  }

3. 添加監聽事件:

mEditText.addTextChangedListener(new TextWatcher() {  @Override  public void onTextChanged(CharSequence s, int start, int before,   int count) {  String t = mEditText.getText().toString();  String editable = mEditText.getText().toString();   String str = stringFilter(editable.toString());   if(!editable.equals(str)){    mEditText.setText(str);    mEditText.setSelection(str.length()); //光標置后  }   }  @Override  public void beforeTextChanged(CharSequence s, int start, int count,   int after) {  }  @Override  public void afterTextChanged(Editable s) {  } });

方法三:

int mMaxLenth = 200;//設置允許輸入的字符長度public static String stringFilter(String str)throws PatternSyntaxException{  String regEx = "[///:*?<>|/"/n/t]"; Pattern p = Pattern.compile(regEx); Matcher m = p.matcher(str); return m.replaceAll(""); }mEditText.addTextChangedListener(new TextWatcher() {  private int cou = 0;  int selectionEnd = 0;  @Override  public void onTextChanged(CharSequence s, int start, int before,   int count) {  cou = before + count;  String editable = mEditText.getText().toString();  String str = stringFilter(editable); //過濾特殊字符  if (!editable.equals(str)) {   mEditText.setText(str);  }  mEditText.setSelection(mEditText.length());  cou = mEditText.length();  }  @Override  public void beforeTextChanged(CharSequence s, int start, int count,   int after) {  }  @Override  public void afterTextChanged(Editable s) {  if (cou > mMaxLenth) {   selectionEnd = mEditText.getSelectionEnd();   s.delete(mMaxLenth, selectionEnd);  }  } });

以上代碼都經過測試,給大家共享!對于第一,二,兩種方法在三星NOTE 2中會有個問題(其他手機沒有問題),并且輸入窗口會出現跳動;具體原因,感興趣的朋友可以調試一下!

第三種方法沒有問題。

希望本文所述對大家的Android程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
粉嫩av一区二区三区免费野| 中文字幕欧美日韩| 亚洲精品成人久久| 亚洲国产精品女人久久久| 亚洲精品美女久久久| 国产欧美精品一区二区| 欧美国产日韩中文字幕在线| 国产伦精品一区二区三区精品视频| 国产ts一区二区| 亚洲欧美三级伦理| 欧美激情在线狂野欧美精品| 亚洲欧洲高清在线| 亚洲自拍小视频| 日韩美女视频在线观看| 91大神福利视频在线| 久久手机免费视频| 国产精品揄拍500视频| 国产亚洲成av人片在线观看桃| 欧美中文字幕在线播放| 亚洲欧美一区二区三区四区| 久久精品电影一区二区| 久久久精品久久久| 亚洲三级 欧美三级| 岛国av一区二区| 日韩福利伦理影院免费| 成人国产精品色哟哟| 91精品久久久久久| 久久久精品一区| 日本精品免费一区二区三区| 亚洲成人精品久久久| 日韩精品在线播放| 欧美激情中文字幕乱码免费| 热门国产精品亚洲第一区在线| 亚洲а∨天堂久久精品9966| 国产精品久久久久久五月尺| 久久天天躁狠狠躁夜夜躁| 欧美一级大片在线观看| 成人在线视频网| 国产v综合v亚洲欧美久久| 国产成人精品视| 欧美裸体xxxxx| 欧美性xxxxx极品娇小| 亚洲区在线播放| 国产成人黄色av| 欧美精品福利在线| 国产精品久久久久久久久久ktv| 韩国福利视频一区| 欧美精品亚州精品| 日韩在线观看网站| 欧美做受高潮电影o| 国内免费久久久久久久久久久| 欧美一性一乱一交一视频| 国产精品老女人精品视频| 亚洲精品久久在线| 亚洲成人在线视频播放| 1769国产精品| 欧美日韩免费在线| 精品国产91久久久久久老师| 91精品久久久久久久| 欧美激情伊人电影| 国模精品视频一区二区三区| 国产精品视频久久久久| 亚洲男人天堂2023| 777国产偷窥盗摄精品视频| 成人女保姆的销魂服务| 97国产在线观看| 国产精品吹潮在线观看| 欧美精品在线看| 亚洲精品一区二区三区婷婷月| 国产精品久久久久久久久久久久久| 91色视频在线导航| 国产69久久精品成人看| 97av在线视频免费播放| 成人精品一区二区三区电影黑人| 不用播放器成人网| 亚洲免费av电影| 中文字幕日本精品| 成人激情视频网| 亚洲美女性视频| 日韩视频欧美视频| 精品亚洲va在线va天堂资源站| 26uuu国产精品视频| 97精品视频在线观看| 久久久精品一区二区| 伊人久久久久久久久久久久久| 国产成人精品最新| 91大神福利视频在线| 久久久免费高清电视剧观看| 在线观看不卡av| 欧美成人亚洲成人日韩成人| 国产视频在线观看一区二区| 久久久久亚洲精品成人网小说| 青青草国产精品一区二区| 91精品国产电影| 日韩欧美中文在线| 亚洲欧洲国产伦综合| 国产美女直播视频一区| 国内精品一区二区三区| 亚洲在线一区二区| 国产精品嫩草影院久久久| 亚洲精品免费一区二区三区| 日韩一区二区三区xxxx| 国产一区二区欧美日韩| 精品久久久久久久久久久久| 精品中文字幕在线观看| 欧美做受高潮电影o| 久久久久久久成人| 国产精品欧美日韩| 久久久久久久久久久国产| 亚洲影院在线看| 国产精品一区二区三区久久久| 亚洲国产高潮在线观看| 成人黄色中文字幕| 78m国产成人精品视频| 精品免费在线视频| 亚洲国产精品一区二区三区| 欧美极品美女视频网站在线观看免费| 亚洲一区二区三区四区在线播放| 日韩精品小视频| 亚洲精品www| 91高清视频在线免费观看| 精品国产一区久久久| 日韩欧美精品网站| 日韩久久免费电影| 日韩av资源在线播放| 久久91精品国产91久久跳| 日韩免费观看av| 中文字幕视频在线免费欧美日韩综合在线看| 久久免费国产视频| 欧美重口另类videos人妖| 亚洲女在线观看| 91精品国产综合久久男男| 久久免费视频网站| 成人自拍性视频| 中文字幕日韩欧美在线视频| 欧美午夜视频一区二区| 精品毛片网大全| 日韩欧美国产视频| 91沈先生作品| 国产不卡精品视男人的天堂| 国产精品入口夜色视频大尺度| **欧美日韩vr在线| 日本欧美黄网站| 欧美日韩免费在线| 欧美亚洲国产日本| 97精品伊人久久久大香线蕉| 日韩电影免费观看在线| 成人a级免费视频| 久久久久久一区二区三区| 欧美一区二区.| 亚洲乱码国产乱码精品精天堂| 91精品久久久久久久久不口人| 亚洲精品之草原avav久久| 欧美福利视频在线| 国产不卡一区二区在线播放| 欧美激情喷水视频| 久久精品久久久久| 日本一区二区在线免费播放| 日韩国产高清视频在线| 国外成人在线播放| 日韩激情av在线免费观看| 深夜福利日韩在线看| 亚洲v日韩v综合v精品v| 97成人在线视频|