当特定的EditText获得焦点时,我只是想切换到数字键盘模式。
当特定的EditText获得焦点时,我只是想切换到数字键盘模式。
在Java文件中完成此操作:
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
我发现这个实现很有用,它展示了一个更好的键盘并限制了输入字符。
<EditText
android:inputType="phone"
android:digits="1234567890"
...
/>
此外,您可以使用android:maxLength
来限制数字的最大数量。
要以编程方式执行此操作:
editText.setInputType(InputType.TYPE_CLASS_PHONE);
KeyListener keyListener = DigitsKeyListener.getInstance("1234567890");
editText.setKeyListener(keyListener);
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
...
android:inputType="number|phone"/>
将显示大数字键盘作为拨号器。
你可以有两种方式来做到这一点:
运行时设置
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
使用XML。<EditText
...
android:inputType="number" />
如果您需要小数,那么这就是适合您的答案:
android:inputType="numberDecimal"
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
其中myEditTxt是动态EDIT TEXT对象的名称
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
该代码用于设置EditText输入的硬键盘类型为QWERTY。editText.setRawInputType(Configuration.KEYBOARD_QWERTY);
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_CLASS_PHONE);
number1.setKeyListener(DigitsKeyListener.getInstance("0123456789”));