клавиатура редактирования текста Android не отображается после закрытия диалогового окна - PullRequest
1 голос
/ 06 июля 2019

У меня есть текст для редактирования, который работает нормально, но после закрытия диалогового окна клавиатура не отображается, несмотря на то, что текст для редактирования сфокусирован, а курсор отображается

Я много искал и пробовал множество решений, которые не 'не могу исправить мою проблему

я попробовал эти методы, но они не работали

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 голосов
/ 06 июля 2019

вот метод, который я использую для отображения клавиатуры для текста редактирования.

код котлина:

ниже приведена функция расширения для котлина, просто нужно вызвать 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);
      }
    });
  }
...