关于EditText文本输入框输入类型的限制

该博客介绍了如何使用EditText控件在Android中限制用户只能输入字母和数字。通过设置KeyListener,可以定制允许的字符,并根据不同的输入类型切换不同的键盘显示,例如数字键盘、日期键盘和拨号键盘。
摘要由CSDN通过智能技术生成
//限制键盘只能输入字母和数字
editText.setKeyListener(new NumberKeyListener() {
@Override
public int getInputType() {
// 0无键盘 1英文键盘 2模拟键盘 3数字键盘
return 1;
}
@Override
protected char[] getAcceptedChars() {
char[] mychar = { '1', '2', '3', '4', '5', '6', '7', '8', '9',
'0', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'g',
'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u',
'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F',
'G', 'H', 'I', 'G', 'K', 'L', 'M', 'N', 'O', 'P', 'Q',
'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z' };
return mychar;
}
});
switch (inputType_) {
case ConfigManager.InputType_TYPE_NUMBER_FLAG_DECIMAL:
// 只能输入数字(包含小数点)
this.setInputType(InputType.TYPE_NUMBER_FLAG_DECIMAL);
// setKeyListener(new DigitsKeyListener(false, true));
break;
case ConfigManager.InputType_TYPE_CLASS_NUMBER:
// 只能输入正整数
setKeyListener(new DigitsKeyListener());
break;
case ConfigManager.InputType_TYPE_CLASS_DATETIME:
// 只能输入日期格式(数字 . - /)
setKeyListener(new DateKeyListener());
break;
case ConfigManager.InputType_TYPE_CLASS_PHONE:
// 拨号键盘(+ - * / # . ())
setKeyListener(new DialerKeyListener());
break;
default:
// 默认输入法
this.setInputType(InputType.TYPE_CLASS_TEXT);
break;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值