我只是想在某个 EditText 获得焦点后立即切换到数字键盘模式。
问问题
177854 次
13 回答
114
要在 Java 文件中执行此操作:
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
于 2010-10-06T06:52:25.803 回答
54
我发现这个实现很有用,显示了更好的键盘并限制了输入字符。
<EditText
android:inputType="phone"
android:digits="1234567890"
...
/>
此外,您可以android:maxLength
用来限制数字的最大数量。
要以编程方式执行此操作:
editText.setInputType(InputType.TYPE_CLASS_PHONE);
KeyListener keyListener = DigitsKeyListener.getInstance("1234567890");
editText.setKeyListener(keyListener);
于 2012-02-28T13:43:10.570 回答
18
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
...
android:inputType="number|phone"/>
将大数字键盘显示为拨号器。
于 2013-01-10T13:14:38.437 回答
10
你可以通过 2 种方式做到这一点
运行时集
EditText input = new EditText(this); input.setInputType(InputType.TYPE_CLASS_NUMBER);
使用 XML
<EditText ... android:inputType="number" />
于 2012-12-12T11:01:21.457 回答
7
如果您需要小数,那么这就是您的答案:
android:inputType="numberDecimal"
于 2014-10-10T01:24:23.377 回答
4
如果您在对话框中使用 EditText 或动态创建并且您无法从 xml 设置它,那么此示例将帮助您在使用动态编辑文本等时设置该类型的键盘
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
其中 myEditTxt 是动态 EDIT TEXT 对象(名称)
于 2012-12-04T10:36:14.877 回答
4
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
于 2013-04-21T20:16:59.837 回答
4
在java文件中使用下面的代码
editText.setRawInputType(Configuration.KEYBOARD_QWERTY);
于 2017-09-21T05:25:28.887 回答
3
下面的代码将只允许数字“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”));
于 2018-11-01T14:09:29.803 回答
2
更多输入类型和详细信息可在google 网站上找到
于 2014-03-20T14:38:46.083 回答
0
在您的 xml 代码中定义它
android:inputType="number"
于 2016-06-27T07:36:03.973 回答
0
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);
于 2017-12-21T10:26:20.280 回答