我有一个带有一个 EditText 的活动,我只需要输入数字。
现在,我已将 EditText 的输入类型定义为仅数字,并为我的用户绘制了一个漂亮的键盘,但是我还需要确保当我的用户单击时不会弹出软键盘编辑文本。
我尝试通过添加通过清单隐藏键盘
android:windowSoftInputMode="stateAlwaysHidden"
在我的清单中针对特定活动,但这对我不起作用,因为一旦用户单击 EditText,键盘就会再次出现。
我试过像这样以编程方式做同样的事情
activity.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
但这也不起作用。当用户单击 EditText 时出现键盘。
唯一有效的是将 EditText 的 InputType 设置为 null,如下所示:
EditText.setInputType(InputType.TYPE_NULL);
但我不能使用它,因为它允许在其设备上连接键盘的用户在 EditText 字段中输入字母和其他符号,而我希望每个人都专门只使用键盘在字段中输入数据。
我还应该提到,我目前正在 android 2.1 下测试我的应用程序,但我希望我的解决方案适用于所有版本。任何帮助,将不胜感激。提前致谢。