// 设置过滤字符函数(过滤掉我们不需要的字符)
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("");
}
int mMaxLenth = 50;
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);
if(androidVersion.charAt(0)>='4')
{
mEditText.setText(s.toString());
}
}
}
});原文参考:
http://software.intel.com/zh-cn/blogs/2013/03/07/android-edittext/?utm_campaign=CSDN&utm_source=intel.csdn.net&utm_medium=Link&utm_content=android%E2%80%93%20edittext