点击按钮后显示软件键盘



我需要在用户单击按钮后显示软件键盘。现在我隐藏键盘并在用户单击按钮后显示它,但是当用户单击Edit-text时,键盘显示自己。我有两个按钮,当用户点击第一个按钮时,他看到软件键盘,当他点击第二个按钮时,软件键盘隐藏,他看到控制片段,控制编辑文本。当用户看到控件片段并点击编辑文本时,显示软件键盘。我需要它来显示这个软装键盘。软装键盘应该只在用户点击第一个按钮时显示

我怎么能停止软键盘显示,但有它仍然工作时,点击按钮?

set editText.setFocusable(false); initial and on button click use editText.setFocusable(true); andeditText.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,遗憾的是,你需要有一个虚拟视图来抓取焦点。

我希望这对你有帮助要关闭它,可以使用

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

最新更新