发布
社区首页 >问答首页 >如何强制键盘出现?

如何强制键盘出现?
EN

Stack Overflow用户
提问于 2018-07-21 21:44:22
回答 2查看 48关注 0票数 1

当用户单击editText时,键盘将被打开供用户键入。当用户单击按钮而不是editText时,我可以使键盘出现吗?numpad能代替普通键盘出现吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-07-21 21:55:53

当用户单击按钮而不是editText时,我可以使键盘出现吗?

是的,您需要设置焦点并使用InputMethodManager弹出键盘。

代码语言:javascript
代码运行次数:0
复制
button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            // Focus the field.
            editText.requestFocus();
            // Show soft keyboard for the user to enter the value.
            InputMethodManager im = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
            im.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
        }
    });

numpad能代替普通键盘出现吗?

是的,使用输入类型

edittext的xml标记中

代码语言:javascript
代码运行次数:0
复制
 <EditText...
     android:inputType="number"/>

或用java

代码语言:javascript
代码运行次数:0
复制
editText.setInputType(InputType.TYPE_CLASS_NUMBER);
票数 4
EN

Stack Overflow用户

发布于 2018-07-21 22:04:56

代码语言:javascript
代码运行次数:0
复制
public static void toggleKeyboard(Context context) {
    try {
        InputMethodManager imm = (InputMethodManager)context.getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, InputMethodManager.HIDE_IMPLICIT_ONLY);
    } catch (Exception e) {
        Log.e("On show keyboard error: %s", e.getMessage());
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51460360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档