若是说咱们只是输入数字的话,咱们能够直接在xml文件中:html
android:inputType="number"
若是是身份证类型的话,咱们能够这样:java
android:inputType="number" android:digits="0123456789xyzXYZ"
咱们也能够在java文件中这样:android
EditText et = new EditText(this); et.setKeyListener(new NumberKeyListener() { // 0无键盘 1英文键盘 2模拟键盘 3数字键盘 @Override public int getInputType() { // TODO Auto-generated method stub return 3; } // 返回容许输入的字符 @Override protected char[] getAcceptedChars() { // TODO Auto-generated method stub char[] c = {'a', 'b', 'c', 'd', 'e', '1', '2'}; return c; } });
若是是和默认类型同样,能够输入任意字符的话,咱们能够这样,和上面的实现方式相似,只不过将 NumberKeyListener 换成了 TextKeyListener 而已:git
EditText et = new EditText(this); et.setKeyListener(new TextKeyListener(TextKeyListener.Capitalize.NONE, true) { @Override public int getInputType() { return InputType.TYPE_CLASS_PHONE; } });
这样就能够啦!api
因为本人水平有限,文中若有错误欢迎批评指正,小弟感激涕零!ide
最后,感谢兔子家的三哥(http://www.jianshu.com/u/87ae381f8e5b)对我工做的帮助和指导,谢谢!this