如何显示Android上的EditText上的数字键盘?

我只是基本上想要切换到数字键盘模式,尽快某个EditText有焦点。

你可以为你的EditTextconfiguration一个inputType

 <EditText android:inputType="number" ... /> 

要在Java文件中执行此操作:

 EditText input = new EditText(this); input.setInputType(InputType.TYPE_CLASS_NUMBER); 

我发现这个实现有用,显示更好的键盘和限制input字符。

 <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"/> 

将拨号盘显示为大号。

你可以做2种方法

  1. 运行时间设置

     EditText input = new EditText(this); input.setInputType(InputType.TYPE_CLASS_NUMBER); 
  2. 使用XML

     <EditText ... android:inputType="number" /> 

如果你需要分数,那么这是你的答案:

 android:inputType="numberDecimal" 

如果您在对话框中使用EditText或dynamic创build,并且不能从xml中设置,那么这个例子将帮助您在使用dynamic编辑文本等时设置这种types的键盘

 myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER); 

其中myEditTxt是dynamic的EDIT TEXT对象(名称)

在谷歌网站上find更多的inputtypes和细节

 editText.setRawInputType(InputType.TYPE_CLASS_NUMBER); 

在你的xml代码中定义这个

 android:inputType="number" 

在java文件中使用下面的代码

editText.setRawInputType(Configuration.KEYBOARD_QWERTY);