有时候我们需要限制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});
}
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持萬仟网!