如何设置EditText,因此,只有某些数字或字母可以进入它?

一、建立EditText,只要输入号码:

办法1:直接生成DigitsKeyListener了。

et_1.setKeyListener(new

DigitsKeyListener(false,true));

方法2:在EditText中设置属性。android:numeric="integer"即仅仅能输入整数。例如以下

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;

}

});

EditText et;et = (EditText) findViewById(R.id.et);// 方法1:建立一个DigitsKeyListener,然后把它设为你的EditText的KeyListenerDigitsKeyListener numericOnlyListener = new

DigitsKeyListener(false,true);et.setKeyListener(numericOnlyListener);//

方法2:为EditText设置一个NumberKeyListener,然后重写getAcceptedChars()方法和getInputType()方法et.setKeyListener(new NumberKeyListener() {@Overrideprotected char[] getAcceptedChars() {return new char[] { '1', '2', '3', '4', '5', '6', '7', '8','9', '0'

};}@Overridepublic int getInputType() {// TODO Auto-generated method stubreturn android.text.InputType.TYPE_CLASS_PHONE;}});

--------------------------------------------------------------------------------------------

01.EditText et;02.et = (EditText) findViewById(R.id.et);03.// 方法1:建立一个DigitsKeyListener,然后把它设为你的EditText的KeyListener04.DigitsKeyListener numericOnlyListener = new

DigitsKeyListener(false,true);05.et.setKeyListener(numericOnlyListener);06.//

方法2:为EditText设置一个NumberKeyListener,然后重写getAcceptedChars()方法和getInputType()方法07.et.setKeyListener(new NumberKeyListener() {08. @Override09. protected char[] getAcceptedChars() {10. return new char[] { '1', '2', '3', '4', '5', '6', '7', '8','9',

'0' };11. }12. @Override13. public int getInputType() {14. // TODO Auto-generated method stub15. return android.text.InputType.TYPE_CLASS_PHONE;16. }17.});

小结:

第一种能够输入小数。

另外一种因为设置了TYPE_CLASS_PHONE所以仅仅能输入整数。

且比較灵活。

============================================

非常多网友可能在开发Android时发现EditText有时候须要限制用户输入的内容,通常我们能够使用正則表達式直接限制,可是Android

已经为我们准备好了EditText的输入类型,这种比正则要有下面几点优势:

1. 开发更简单,运行速度高效。 2.

输入法默认会依据情况变动。比方说设置为numeric后输入法会自己主动仅显示数字,不会出现Qwerty中的字母。

以下我们通过EditText的layout

xml文件里的相关属性来实现:

1. 密码框属性 android:password="true"

这条能够让EditText显示的内容自己主动为 星号,输入时内容会在1秒内变成*字样。

2. 纯数字 android:numeric="true"

这条能够让输入法自己主动变为数字输入键盘,同一时候仅同意0-9的数字输入

3. 仅同意 android:capitalize="cwj1987"

这样仅同意接受输入cwj1987。一般用于password验证

以下是一些扩展的风格属性

android:editable="false"

设置EditText不可编辑

android:singleLine="true"

强制输入的内容在单行

android:ellipsize="end"

自己主动隐藏尾部溢出数据,它通常用于当文本太长,一行不能全部展示。

版权声明:本文博主原创文章,博客,未经同意不得转载。

最新文章

  1. USACO翻译:USACO 2014 JAN三题(1)
  2. c++实现螺旋矩阵分析总结
  3. Unity3D外包团队——技术分享U3D全景漫游(三)
  4. 让C程序更高效的10种方法(转)
  5. iis express 启动多个网站
  6. history命令
  7. T-SQL 运算符
  8. poj 2686 Traveling by Stagecoach ---状态压缩DP
  9. 利用linux BT5来破解无线 破解无线
  10. HDU 4828 Grids(卡特兰数+乘法逆元)
  11. BZOJ3033太鼓达人——哈密顿回路/欧拉回路
  12. Bootstrap Multiselect插件使用步骤以及常见参数配置介绍
  13. Mysql宽字节注入(转)
  14. python 中的列表(list)
  15. python-memcached包使用方法
  16. 1.7Oob 继承关系中构造方法的使用
  17. eclipse 大小写转换
  18. win7 远程桌面连接centos 6.5
  19. Linux应急响应(二):捕捉短连接
  20. Xpath同时选取不同属性的元素

热门文章

  1. Catch Up 朋友小聚 - 地道英语 - BBC Learning English BBC英语教学 - 爱思英语网
  2. TSL230选型
  3. HDU5015 233 Matrix(矩阵高速幂)
  4. 业务系统需要什么样的ID生成器
  5. 矩阵快速幂---BestCoder Round#8 1002
  6. 怎样在Android开发中FPS游戏实现的两种方式比较
  7. BrowserSync使用
  8. leetcode先刷_Climbing Stairs
  9. Mahout推荐算法ItemBased
  10. dbus 和 policykit 实例篇(python) ()转