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

时间:2011-05-27 14:38:24

标签: android android-keypad

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

我想让用户输入数量(例如“1公斤”,“2公升”),因此只需设置inputType="number"即可。

6 个答案:

答案 0 :(得分:35)

添加以下代码行,它将起到作用:)

editText.setRawInputType(Configuration.KEYBOARD_QWERTY);

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

更多信息here

答案 1 :(得分:8)

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

 android:inputType="phone"

All Input Types Link

<\ n>在EditText的xml中,这会为您提供数字键盘键盘,但如果需要,您仍然可以切换到字母键盘。 (至少在我的Nexus One上)。

答案 2 :(得分:7)

请注意:setRawInputType(InputType.TYPE_CLASS_NUMBER);

对某些设备有预期效果,但对其他设备没有...

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

答案 3 :(得分:4)

用XML编写代码,            机器人:数字=“整数”            安卓的inputType =“手机”        机器人:位数= “1234567890”

答案 4 :(得分:2)

看起来您正在处理的基本问题是:如何让用户输入数量?

一个合适的答案是:使用数字输入,与单位的某种形式的类别选择配对。例如收音机,下拉菜单或微调器。这可能更容易使用,也让您每次都必须验证输入时头疼。

你也可以使用铁制cojones并编写自定义软键盘。

答案 5 :(得分:-1)

在我弄清楚之前,我尝试了很多不同的组合,但这似乎可以正常工作:

setRawInputType(InputType.TYPE_CLASS_NUMBER);

关键在于setRawInputType(int)的描述:

  

直接更改文本视图的内容类型整数,不用   修改任何其他状态