Android设置Edittext只能输入数字/字母并弹出英文键
2022-08-01 本文已影响0人
信仰年輕
方案一,亲测无效!
// editText.setInputType(InputType.TYPE_CLASS_NUMBER);
editText.setInputType(InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_NORMAL);
editText.setKeyListener(DigitsKeyListener.getInstance("0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"));
测试发现是显示数字键盘, 亲测不行。
方案二,亲测有效!
editText.setKeyListener(new DigitsKeyListener() {
@Override
public int getInputType() {
return InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_NORMAL;
}
@NonNull
@Override
protected char[] getAcceptedChars() {
return "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ".toCharArray();
}
});
限制输入最大长度
editText.setFilters(new InputFilter[]{new InputFilter.LengthFilter(10)}); //最大输入长度