设置EditText只输入数字、字母
如何设置EditText,使得只能输入数字或者某些字母呢?
一、设置EditText,只输入数字:
?????? 方法1:直接生成DigitsKeyListener对象就可以了。
et_1.setKeyListener(new DigisKeyListener(false,true));
?????? 方法2:在EditText中设置属性,android:numeric="integer"即只能输入整数,如下?
<EditText
android:singleLine="true"
android:numeric="integer"
/>
?????? 方法3:新建一个char[],在里面添加允许输入的字符。如下
editText.setKeyListener(new NumberKeyListener(){
????? protected char[] getAcceptedChars()
{
?char[] numberChars[]={'1','2','3','4','5','6','7','8','9','0',};
return numberChars;
}
});
二、设置EditText只能输入某些字母,如下面设置edtitext只能输入A—N,a—n这些字母。方法如下:
??editText.setKeyListener(new NumberKeyListener(){
????? protected char[] getAcceptedChars()
{
?char[] numberChars[]={'a,'b','c','d','e','f','A','B','C','D'};
return numberChars;
}
});
?? 3. 仅允许 android:capitalize="cwj1987" 这样仅允许接受输入cwj1987,一般用于密码验证
? 下面是一些扩展的风格属性
? android:editable="false" 设置EditText不可编辑
? android:singleLine="true" 强制输入的内容在单行
? android:ellipsize="end" 自动隐藏尾部溢出数据,一般用于文字内容过长一行无法全部显示时。