有时候我们需要限制EditText输入的字符类型,如空格,特殊字符等,这时候我们可以使用系统提供的输入过滤器――InputFilter。具体实现如下:
/** * 禁止EditText输入空格 * @param editText */ public static void setEditTextInhibitInputSpace(EditText editText){ InputFilter filter=new InputFilter() { @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { if(source.equals(" ")return ""; else return null; } }; editText.setFilters(new InputFilter[]{filter}); }/** * 禁止EditText输入特殊字符 * @param editText */ public static void setEditTextInhibitInputSpeChat(EditText editText){ InputFilter filter=new InputFilter() { @Override public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) { String speChat="[`~!@#$%^&*()+=|{}':;',//[//].<>/?~!@#¥%……&*()――+|{}【】‘;:”“'。,、?]"; Pattern pattern = Pattern.compile(speChat); Matcher matcher = pattern.matcher(source.toString()); if(matcher.find())return ""; else return null; } }; editText.setFilters(new InputFilter[]{filter}); }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持武林网!
新闻热点
疑难解答