点按按钮后显示软键盘

时间:2014-03-26 13:01:49

标签: android android-edittext android-softkeyboard

我需要在用户点击按钮后显示软件键盘。现在我隐藏键盘并在用户点击按钮后显示它,但当用户点击编辑文本时,键盘会显示自己。 我有两个按钮,当用户点击第一个按钮时他看到了软件键盘,当他点击第二个按钮时,软件键盘正在隐藏,他看到控制片段,它控制着edittext。当用户看到控制片段并点击edittext时,会显示softwear键盘。我需要这个不显示这个软装键盘。只有当用户点击第一个按钮

时,才会显示Softwear键盘

如何停止显示软键盘,但单击按钮后它仍然有效?

3 个答案:

答案 0 :(得分:0)

设置editText.setFocusable(false);首字母,然后点击按钮使用editText.setFocusable(true);editText.requestFocus();

答案 1 :(得分:0)

这会对你有帮助。

editText.setInputType(InputType.TYPE_NULL);

答案 2 :(得分:0)

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);