有时候我们需要限制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 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}); }
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持编程小技巧!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。