我只是想在某个EditText有焦点时立即切换到数字键盘模式。
答案 0 :(得分:250)
答案 1 :(得分:112)
要在Java文件中执行此操作:
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
答案 2 :(得分:46)
我发现这个实现很有用,它显示了一个更好的键盘并限制了输入字符。
<EditText
android:inputType="phone"
android:digits="1234567890"
...
/>
此外,您可以使用android:maxLength
来限制最大数量。
以编程方式执行此操作:
editText.setInputType(InputType.TYPE_CLASS_PHONE);
KeyListener keyListener = DigitsKeyListener.getInstance("1234567890");
editText.setKeyListener(keyListener);
答案 3 :(得分:17)
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
...
android:inputType="number|phone"/>
将显示大号数字键盘作为拨号器。
答案 4 :(得分:10)
你可以做2种方式
运行时设置
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
使用XML
<EditText
...
android:inputType="number" />
答案 5 :(得分:5)
如果您需要小数,那么这就是您的答案:
android:inputType="numberDecimal"
答案 6 :(得分:4)
如果您在Dialog中使用EditText或动态创建,并且您无法从xml设置它,那么此示例将帮助您在使用动态编辑文本等时设置该类型的键盘
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
其中myEditTxt是动态EDIT TEXT对象(名称)
答案 7 :(得分:2)
在Google网站上找到here的更多输入类型和详细信息
答案 8 :(得分:2)
下面的代码将只允许数字“ 0123456789”,即使您不小心输入了“ 0123456789”以外的内容,也不接受编辑文本。
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_CLASS_PHONE);
number1.setKeyListener(DigitsKeyListener.getInstance("0123456789”));
答案 9 :(得分:1)
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
答案 10 :(得分:1)
在java文件中使用以下代码
editText.setRawInputType(Configuration.KEYBOARD_QWERTY);
答案 11 :(得分:0)
在xml代码中定义
android:inputType="number"
答案 12 :(得分:0)
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);