繁体   English   中英

点击按钮后显示软件键盘

[英]Show software keyboard after tap button

用户单击按钮后,我需要显示软件键盘。 现在,我将隐藏键盘并在用户单击按钮后显示它,但是当用户单击“编辑文本”时,键盘将显示其自身。 我有两个按钮,当用户单击第一个按钮时,他看到软件键盘,当他单击第二个按钮时,软件键盘被隐藏,并且他看到控件片段,该片段控制edittext。 当用户看到控件片段并点击以获取编辑文本时,将显示软键盘。 我需要不要显示此软键盘。 仅当用户点击第一个按钮时,才显示软键盘

我如何才能停止显示软键盘,但是单击该按钮后它仍然可以工作?

设置editText.setFocusable(false); 初始化并单击按钮,使用editText.setFocusable(true); editText.requestFocus();

这将为您提供帮助。

editText.setInputType(InputType.TYPE_NULL);
editText.setOnFocusChangeListener(new View.OnFocusChangeListener() {
    @Override
    public void onFocusChange(View v, boolean hasFocus) {
        if (hasFocus) {
            dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
        }
    }
});

要强制显示软键盘,可以使用

EditText yourEditText= (EditText) findViewById(R.id.yourEditText);
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(yourEditText, InputMethodManager.SHOW_IMPLICIT);

而要取消对EditText的关注,可悲的是,您需要一个虚拟View来获取焦点。

我希望这可以帮助您关闭它

InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(yourEditText.getWindowToken(), 0);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM