EditText设置输入的类型,只能输入纯数字,只能输入手机号码,只能输入邮箱等等。

时间:2023-03-09 12:55:57
EditText设置输入的类型,只能输入纯数字,只能输入手机号码,只能输入邮箱等等。

作者:程序员小冰,CSDN博客:http://blog.csdn.net/qq_21376985转载请说明出处。

下面以数字、电话为例讲述EditText怎么设置输入类型,其他类型可以参考InputType类。

1) 只能输入数字

EditText et = (EditText) findViewById(R.id.etTest);

et.setInputType(InputType.TYPE_CLASS_NUMBER);

2) 只能输入电话号码

EditText et = (EditText) findViewById(R.id.etTest);

et.setInputType(InputType.TYPE_CLASS_PHONE);//电话

3) 邮箱地址

EditText et = (EditText) findViewById(R.id.etTest);

et.setInputType(InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS);

4) 禁止输入任何文本

EditText et = (EditText) findViewById(R.id.etTest);

et.setInputType(InputType.TYPE_NULL);

// 禁止输入(不弹出输入法)上述也是隐藏输入法的一种方式,还有另外一种隐藏办法,

可查看android隐藏IME(输入法)输入框

不让程序默认升起IME输入框有两种方法:

1.让EditText失去焦点,使用EditText的clearFocus方法

2.强制隐藏Android输入法窗口,在IME类中我们通过实例化输入法控制对象,通过hideSoftInputFromWindow来隐藏IME输入框。

5)只能输入数字和小数点

edittext.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL);

此时注意:只设置InputType.TYPE_NUMBER_FLAG_DECIMAL是无法实现只能输入数字和小数点的,必须InputType.TYPE_CLASS_NUMBER 和

InputType.TYPE_NUMBER_FLAG_DECIMAL同时设置才可以