我希望用户只在EditText中输入字母和特殊字符。一种方法是在EditText的“android:digits”标签中添加所有字母和所有特殊字符。但我认为这不是一个好方法。
有没有更好的方法来实现它?
答案 0 :(得分:0)
查看EditText input type docs以查找是否满足您的要求。
如果没有,使用正则表达式检查来自EditText
的输入字符串是否符合您的要求格式是个好主意。
答案 1 :(得分:0)
我使用InputFilter来阻止数字:
private static InputFilter filter = new InputFilter() {
@Override
public CharSequence filter(CharSequence source, int start, int end, Spanned dest, int dstart, int dend) {
String blockCharacterSet = "1234567890";
if (source != null && blockCharacterSet.contains(("" + source))) {
return "";
}
return null;
}
};
然后应用过滤器:
edittext.setFilters(new InputFilter[] { filter });
答案 2 :(得分:0)
在xml中的edittext中设置android:digits="abcdefghijklmnopqrstuvwxyz?/>,<.:";'{}[]\|)(*&^%$#@!
〜+ = -_ etc“`属性。
注意: - 请在键盘上添加所有可用的特殊字符代替等。