只允许EditText输入数字或者email格式字符是非常简单的(详见API文档)。
要实现只允许输入自定的数字字符也是很容易的(详见API文档,setKeyListener(KeyListener) 和setFilters (InputFilter[]filters) )。
但是要限制只能输入指定的字母字符就非常的困难。
/**
InputFilter[] ifs = {new InputFilter.LengthFilter(10),new DigitsKeyListener(true,true)};
editText01.setFilters(ifs);
**/
发现,android:digits的参数是一个字符串,没有更多的语义检查,因此想到内部处理很可能仅是简单的检查,输入的字符是否在给定的字符串中(要我设计,我就这样做)。尝试着给它指定带有英文字符的参数,发现果然如此。万幸,万幸!
在layout.xml里
在string.xml里
另外:
原文地址:http://blog.csdn.net/z1137730824/article/details/42805673