2

我正在使用 InputMethodManager 在需要时以编程方式显示软键盘

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

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

编辑

抱歉,在我不得不离开电脑一段时间之前,我匆忙输入了这个。我忘了提到可能是最关键的部分。我正在尝试在 webview 中执行此操作。我关注的文本框的输入类型设置为电话。出于某种原因,小键盘不会出现在自动对焦上,这就是为什么我试图用 InputMethodManager 强制它。我当前的方法将键盘显示在正确的字段上,它似乎没有正确读取类型和显示。

感谢您迄今为止的所有回答(确实回答了我措辞不佳的问题)。

4

3 回答 3

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);
于 2014-07-28T05:49:01.670 回答
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。

这将起作用。

于 2014-07-28T05:37:23.000 回答
0

a) 在 xml 中

android:inputType="number"

b) 在代码中

EditText editView = new EditText(this);
editView.setKeyListener(new DigitsKeyListener());
于 2014-07-28T05:39:17.217 回答