如何在不强制数字输入的情况下在EditText上默认使用数字键盘?

Lyu*_*mil 39 android android-keypad

这已被网上其他地方要求无济于事.Android中有没有办法在聚焦时显示数字软键盘EditText,但仍允许输入任何文本?

我想让用户输入数量(例如"1公斤","2公升"),所以只是设置inputType="number"不起作用.

rDr*_*oid 34

添加以下代码行,它会做的伎俩:)

editText.setRawInputType(Configuration.KEYBOARD_QWERTY);

这将首先显示数字小键盘,但也允许您输入自由文本.

更多信息在这里.

  • 这个答案没有意义,setRawInputType函数需要InputType而不是Configuration的值.恰好相反,Configuration.KEYBOARD_QWERTY为2,InputType.TYPE_CLASS_NUMBER也为2. (13认同)
  • 它不适用于所有软键盘. (12认同)
  • 这个答案完全无效!解决方案不起作用,并且Configuration类常量不适用于setRawInputType. (5认同)
  • 确切的,不适用于三星s3 mini和s4 (4认同)

Blu*_*ell 8

这可能取决于设备,但您尝试过:

 android:inputType="phone"
Run Code Online (Sandbox Code Playgroud)

所有输入类型链接

在EditText的xml中,这为你提供了数字键盘键盘,但如果你愿意,你仍然可以切换到字母键盘.(至少在我的Nexus One上).

  • 如果指定inputType ="number",您也可以切换到字母,但按字母无效.如果我设置inputType ="phone",我甚至无法切换到设备上的字母,更别说实际输入文字了.你能在手机领域打字吗? (3认同)

Mar*_*ark 7

注意:setRawInputType(InputType.TYPE_CLASS_NUMBER);

对某些设备有所期望的效果,但对其他设备没有...

在htc它工作正常但是在galaxy tab II你只得到数字键盘而无法切换回alpha.