InputMethodManager在webview中显示numpad

时间:2014-07-28 05:29:40

标签: java android cordova webview inputmethodmanager

我使用InputMethodManager以编程方式显示软键盘

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view, 0);

是否有强制键盘显示为数字或电话键盘?

修改

抱歉,在我不得不离开电脑一段时间之前,我匆匆打字。我忘了提及可能最重要的部分。我试图在网页浏览中这样做。我关注的文本框的输入类型设置为tel。出于某种原因,小键盘不会出现在自动对焦上,这就是我试图用InputMethodManager强制它的原因。我当前的方法显示键盘聚焦在正确的字段上,它似乎无法正确读取类型和显示。

感谢您到目前为止的所有答案(这确实回答了我措辞不好的问题)。

3 个答案:

答案 0 :(得分:0)

将此代码用于Number:

  <EditText
                    android:id="@+id/editText"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@null"
                    android:inputType="number"
                    android:padding="10dp"
                    android:singleLine="true" />

&安培;将此代码用于电话:

 <EditText
                    android:id="@+id/editText"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:background="@null"
                    android:inputType="phone"
                    android:padding="10dp"
                    android:singleLine="true" />

以编程方式尝试此

password.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);

密码是edittext。

这将有效。

答案 1 :(得分:0)

a)in xml

android:inputType="number"

b)代码

EditText editView = new EditText(this);
editView.setKeyListener(new DigitsKeyListener());

答案 2 :(得分:0)

以下代码会向您显示键盘:

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view, 0);

但是,如果您想强制显示为数字或电话键盘的键盘,则必须在该特定视图/小部件上设置输入类型。

InputType.TYPE_CLASS_NUMBER; 
InputType.TYPE_CLASS_PHONE;

例如。

your_edit_text.setInputType(InputType.TYPE_CLASS_NUMBER);