有時候我們需要限制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}); }
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!
|
新聞熱點
疑難解答