您的位置:首页 > 移动开发 > Android开发

Android中EditText限制只能输入 电话号码 字母 邮箱地址

2015-01-14 11:33 519 查看
下面以数字、电话为例讲述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输入框。

代码

代码如下复制代码
Toast.makeText(WindowBackgroundColorActivity.this, "焦点改变", Toast.LENGTH_SHORT).show();

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);

//第一种方法

//imm.toggleSoftInput(InputMethodManager.SHOW_IMPLICIT, InputMethodManager.HIDE_NOT_ALWAYS);

//第二种方法

imm.hideSoftInputFromWindow(v.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
参考代码:
代码如下复制代码
<EditText android:id="@+id/etTest" android:inputType="number"

android:layout_width="wrap_content"

android:layout_height="wrap_content"/>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: