10

我有一个 EditText 需要根据状态处理数字和/或字母输入。在某些情况下,用户可以输入任一类型的输入。我只能使用可以使用的“电话”键盘弹出“电话”键盘setInputType (InputType.TYPE_CLASS_NUMBER);,但不允许用户返回 QWERTY 键盘。由于大部分输入确实是数字,因此我想在大多数情况下向用户展示 ?123 键盘。他们只需要返回 QWERTY 键盘几次。

如何弹出屏幕 QWERTY 键盘进行字母输入,然后弹出“?123”键盘(如果是数字)?我只想为用户保存一个步骤,这样他们就不必每次都按 QWERTY 键盘上的 ?123 按钮。

更新:这是我希望可见的键盘。原因是我希望用户在字母输入和数字输入之间轻松切换。无法从“数字键盘”切换到 QWERTY 键盘。在我的应用程序中,90% 的输入都需要数字输入,因此我想将其弹出以方便起见。换句话说,他们不必在 90% 的时间切换到数字键盘,而只需在 10% 的时间切换到 QWERTY在此处输入图像描述

input.setRawInputType(Configuration.KEYBOARD_QWERTY);对 Honeycomb 和更高版本的 Gingerbread的调用不同(调出数字键盘)。在 Gingerbread 2.2.3 上,它按我想要的方式工作。Honeycomb 和 2.3.7 键盘屏幕截图如下供参考。我不知道他们为什么如此不同。

用于 Configuration.KEYBOARD_QWERTY 的 Honeycomb 3.2 键盘 用于 Configuration.KEYBOARD_QWERTY 的 Gingerbread 2.3.7 键盘

4

2 回答 2

1

您可以使用多种方式来使用数字键盘。下面列出了一些,

方法1: 将此属性添加到您的文本字段(EditText)

android:inputType="number"

方法二:

以编程方式使用它

edittext.setInputType(InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL | InputType.TYPE_NUMBER_FLAG_SIGNED);
于 2019-04-04T07:02:16.963 回答
0

我相信这篇文章回答了你的问题。

简而言之,将其添加到您的代码中:

editText.setRawInputType(Configuration.KEYBOARD_QWERTY);
于 2012-05-07T21:19:48.633 回答