如果說我們只是輸入數字的話,我們可以直接在xml文件中:
android:inputType="number"
如果是身份證類型的話,我們可以這樣:
android:inputType="number" android:digits="0123456789xyzXYZ"
我們也可以在java文件中這樣:
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 而已:
EditText et = new EditText(this); et.setKeyListener(new TextKeyListener(TextKeyListener.Capitalize.NONE, true) { @Override public int getInputType() { return InputType.TYPE_CLASS_PHONE; } });
這樣就可以啦!
由於本人水平有限,文中如有錯誤歡迎批評指正,小弟感激不盡!
最后,感謝兔子家的三哥(http://www.jianshu.com/u/87ae381f8e5b)對我工作的幫助和指導,謝謝!