我使用InputMethodManager在需要时以编程方式显示软键盘
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(view, 0);
是否有办法强制键盘出现为数字或电话键盘?
编辑
对不起,我在离开电脑一段时间之前匆忙打了这封信。我忘了说可能是最关键的部分。我试着在网络视图中做这个。我关注的文本框的输入类型被设置为tel.出于某种原因,numpad不会在自动对焦上显示,这就是为什么我试图用InputMethodManager强制它。我当前的方法将键盘集中在正确的字段上,它似乎不能正确读取类型和显示。
感谢您到目前为止的所有回答(这些回答确实回答了我的问题)。
下面的代码将显示键盘:
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);
使用以下代码:
<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。
a) in xml
android:inputType="number"
b) in code
EditText editView = new EditText(this);
editView.setKeyListener(new DigitsKeyListener());