Android:允许用户在编辑文本中只添加字母和特殊字符
我希望用户在编辑文本中只输入字母和特殊字符。一种方法是在EditText的“android:digits”标记中添加所有字母表和所有特殊字符。但我认为这不是一个好办法 有没有更好的方法来实现这一目标?查看这些方法是否满足您的要求Android:允许用户在编辑文本中只添加字母和特殊字符,android,xml,android-edittext,Android,Xml,Android Edittext,我希望用户在编辑文本中只输入字母和特殊字符。一种方法是在EditText的“android:digits”标记中添加所有字母表和所有特殊字符。但我认为这不是一个好办法 有没有更好的方法来实现这一目标?查看这些方法是否满足您的要求 如果不是,使用正则表达式检查EditText中的输入字符串是否符合您所需的格式是一个好主意。我使用了InputFilter来仅屏蔽数字: private static InputFilter filter = new InputFilter() { @Overr
如果不是,使用正则表达式检查
EditText
中的输入字符串是否符合您所需的格式是一个好主意。我使用了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 });
设置
android:digits=“abcdefghijklmnopqrstuvwxyz?/>,您可以通过AddTextChangedListenerOK以编程方式实现这一点。我来试试。你为什么认为android:digits
不是一个好方法?这可以帮助你。只需改变一下,在你的EditText@jaiSoni:中加入你想要的内容,因为我需要添加很多特殊的角色,很有可能我会错过一些。我希望找到一种方法来屏蔽数字。我想我找到了一个解决方案。它不起作用:解析XML时出错:格式不正确(无效令牌)。我只想允许有限的字符安卓:digits=“abcdefghijklmnopqrstuvxyzabcdefghijklmnopqrstuvxyzo123456789-/&^%$@!”如果我使用安卓:digits=“abcdefghijklmnopqrstuvxyzabdefghijklmnopqrstuvxyzo123456789-/”那么它可以工作,但我想允许字符&^%$$$@!同样来自Android中的XML。我有一个要求,我需要只允许ABCDEFGHIjklmnopqrstuvwxyzabCDEFGHIjklmnopqrstuvxyzo123456789-/&^%$#@!来自软输入键的字符