Android 如何启动带有数字0到9和a+;在安卓系统中编程?

Android 如何启动带有数字0到9和a+;在安卓系统中编程?,android,android-softkeyboard,android-inputtype,Android,Android Softkeyboard,Android Inputtype,我有一个DialogFragment,它有两个EditText视图。一个接收电子邮件,另一个接收朋友的电话号码。这两个可能会被contacts中的一个contact填充(我有一个按钮,用于连接到contact picker)。我能够在启动片段后立即显示键盘,默认情况下,当焦点位于电子邮件视图时: InputMethodManager inputMethodManager = (InputMethodManager) this.getSystemService(Context.INPUT_METH

我有一个DialogFragment,它有两个EditText视图。一个接收电子邮件,另一个接收朋友的电话号码。这两个可能会被contacts中的一个contact填充(我有一个按钮,用于连接到contact picker)。我能够在启动片段后立即显示键盘,默认情况下,当焦点位于电子邮件视图时:

InputMethodManager inputMethodManager = (InputMethodManager) this.getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
我想以编程方式启动数字为0-9的软键盘(就像我们触摸手机输入类型的编辑文本一样)。我所做的是,当用户选择联系人时,它会填充电子邮件(比如说,联系人只有电子邮件),然后我使用requestFocus()将焦点设置为电话视图,我看到光标移动到电话视图。然后我调用了上面的代码来显示,但这不起作用。我也可以在网上找到其他方法


有什么线索吗?

我想你的键盘出现在屏幕上。 所以,触发算术键盘唯一需要做的就是在EditText中声明为数字

<EditText android:inputType="number"/>


InputManager将保持您声明的状态。

通常使用带有inputType编号的edittext来执行此操作。是的,@Nanoc是正确的。只需将焦点移到第二个EditText视图并显示kbd。这是否会添加加号以便能够输入完整的电话号码?不是在我的系统中进行快速测试。还有,你是如何“在编辑文本上”进行测试的?使用requestFocus()?这并没有启动电话类型键盘。这就是我明确提到的。