Android 在java代码中设置EditText只接受数字输入

来源:互联网 发布:数字域名网址 编辑:程序博客网 时间:2024/06/05 23:39

Android 在java代码中设置EditText只接受数字输入

 (2012-03-08 17:20:37)
转载
标签: 

杂谈

分类: Android学习

在XML中的我就不多说了,不知道的童鞋可以去查EditText的XML属性。

 

做到的项目需要动态生成EditText所以就只能在java代码中控制,EditText的属性。

 

上代码:

EditText et;
et = (EditText) findViewById(R.id.et);
// 方法1:建立一个DigitsKeyListener,然后把它设为你的EditText的KeyListener
DigitsKeyListener numericOnlyListener = new DigitsKeyListener(false,true);
et.setKeyListener(numericOnlyListener);
// 方法2:为EditText设置一个NumberKeyListener,然后重写getAcceptedChars()方法和getInputType()方法
et.setKeyListener(new NumberKeyListener() {
    @Override
    protected char[] getAcceptedChars() {
        return new char[] { '1', '2', '3', '4', '5', '6', '7', '8','9', '0' };
    }
    @Override
    public int getInputType() {
        // TODO Auto-generated method stub
        return android.text.InputType.TYPE_CLASS_PHONE;
    }
});

 

小结:

第一种可以输入小数。

第二种由于设置了TYPE_CLASS_PHONE所以只能输入整数。且比较灵活。