我有一个包含EditText的自定义视图。使用我自己的自定义视图,我使用了这个:
mCustomView.setInputType(InputType.TYPE_CLASS_PHONE);
在自定义视图类中我们有:
public void setInputType(int mode){
mSearchEditText.setInputType(mode);
}
但是,键盘有这些:
我想要的只是数字和+符号。不 - ,没有N, - ,没有/。
答案 0 :(得分:2)
大约有20亿台Android设备,来自数千种设备型号。这些将包含数十个(如果不是数百个)预安装的输入法编辑器(例如,软键盘)。还可以从Play商店和其他地方下载其他输入法编辑器。
InputType.TYPE_CLASS_PHONE
是您对输入法编辑器的提示或请求。这不是一个命令。输入法编辑器的作用是响应InputType.TYPE_CLASS_PHONE
,取决于输入法编辑器的开发人员,而不是。而且,由于有许多不同的输入法编辑器,结果会因用户而异。
因此,对于这个特定的输入法编辑器,您将获得屏幕截图中显示的内容。虽然我不认识一些与电话有关的问题(N
?),但大多数都经常使用电话号码(例如括号来分隔美国的区号)。无论如何,输入法编辑器的开发者选择的是选项,而不是你。
答案 1 :(得分:2)
设置输入类型只决定显示哪种键盘类型(默认)。要将输入限制为仅数字,请使用:
android:digits="0123456789"
<EditText>
定义中的。
注意:没有标准的Android键盘类型只显示数字!