我只是基本上想切换到数字垫模式,尽快某个 EditText 有焦点。
您可以为您的 EditText配置一个 inputType:
EditText
inputType
<EditText android:inputType="number" ... />
在 Java 文件中执行:
EditText input = new EditText(this); input.setInputType(InputType.TYPE_CLASS_NUMBER);
我发现这个实现很有用,显示了一个更好的键盘并限制了输入字符。
<EditText android:inputType="phone" android:digits="1234567890" ... />
此外,您可以使用 android:maxLength来限制数字的最大数量。
android:maxLength
以编程方式进行此操作:
editText.setInputType(InputType.TYPE_CLASS_PHONE); KeyListener keyListener = DigitsKeyListener.getInstance("1234567890"); editText.setKeyListener(keyListener);
如果你在对话框中使用你的编辑文本或者动态创建,你不能从 xml 中设置它,那么这个例子将帮助你在使用动态编辑文本时设置那种类型的键盘
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
其中 myEditTxt 是动态编辑文本对象(名称)
你可以用两种方法
运行时间设置
Using XML
<EditText ... android:inputType="number" />
<EditText android:layout_width="wrap_content" android:layout_height="wrap_content" ... android:inputType="number|phone"/>
将显示大号码板作为拨号器。
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
更多的输入类型和详细信息发现在谷歌网站 给你
如果你需要小数,那么这就是你的答案:
android:inputType="numberDecimal"
在 xml 代码中定义它
android:inputType="number"
在 java 文件中使用下面的代码
SetRawInputType (Configuration.KEYBOARD _ QWERTY) ;
EditText number1 = (EditText) layout.findViewById(R.id.edittext); number1.setInputType(InputType.TYPE_CLASS_NUMBER);
以下代码将只允许编号“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”));