对话框解除后,android edittext键盘不显示

时间:2019-07-06 01:56:44

标签: android android-edittext keyboard focus

我的编辑文本运行良好,但是在关闭对话框后,尽管已将焦点对准了编辑文本并显示了光标,但键盘仍未显示

我进行了很多搜索,并尝试了许多无法解决问题的解决方案

我尝试了这些方法,但是没有用

public void showKeyboard(){
    InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
    inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}

public void closeKeyboard(){
    InputMethodManager inputMethodManager = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
    inputMethodManager.toggleSoftInput(InputMethodManager.HIDE_IMPLICIT_ONLY, 0);
}

,还尝试将它们添加到可运行的

1 个答案:

答案 0 :(得分:0)

这是我用来显示编辑文本键盘的方法。

kotlin代码:

以下是kotlin的扩展功能,只需要调用edittext.showKeyboard()

fun EditText.showKeyboard() {
  post {
    requestFocus()
    val imm = context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
    imm.showSoftInput(this, InputMethodManager.SHOW_IMPLICIT)
  }
}

java代码:

public static void showKeyboard(EditText editText) {
    editText.post(new Runnable() {
      @Override
      public void run() {
        editText.requestFocus();
        InputMethodManager imm = (InputMethodManager) editText.getContext()
            .getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.showSoftInput(editText, InputMethodManager.SHOW_IMPLICIT);
      }
    });
  }