Android设置Edittext只能输入数字字母并弹出英文键盘

网上看到很多这么设置

editText.setInputType(InputType.TYPE_CLASS_NUMBER);
editText.setKeyListener(DigitsKeyListener.getInstance("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"));

但是上面的代码其实都解决不了问题,出现的现象是只能弹出数字键盘,并不能切换字母键盘。

-------------------------------------------------------------------------我是分割线--------------------------------------------------------------------------

 

下面的代码可以完美解决问题:

editText.setKeyListener(new DigitsKeyListener() {
            @Override
            public int getInputType() {
                return InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_NORMAL;
            }

            @Override
            protected char[] getAcceptedChars() {
                char[] ac = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
                return ac;
            }
        });

 

你可能感兴趣的:(Android设置Edittext只能输入数字字母并弹出英文键盘)