Как скрыть softkeyboard в многострочном edittext?

#android

#Android

Вопрос:

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

У меня проблема с программной клавиатурой. Я бы хотел, чтобы вместо ввода было «ok». Я имею в виду, он не должен делать лишнюю строку. При вводе клавиатура должна закрыться.

На данный момент у меня есть что-то вроде этого:

 EtNotes.setOnKeyListener(new View.OnKeyListener()
    {
        @Override
        public boolean onKey(View v, int keyCode, KeyEvent event)
        {
            if (event.getKeyCode() == KeyEvent.KEYCODE_ENTER)
            {

                InputMethodManager imm = (InputMethodManager) getSystemService(
                        Context.INPUT_METHOD_SERVICE);
                imm.hideSoftInputFromWindow(v.getApplicationWindowToken(), 0);
            }
            return false;
        }
    });
  

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

Я уже пытался поместить: android:imeOptions="actionDone" в свой XML-файл макета. К сожалению, это также не сработало.

Подводя итог, я бы хотел, чтобы моя клавиатура не создавала лишнюю строку и закрывалась после кнопки ввода.

Ответ №1:

Вы должны вернуть true в ветке, где вы обрабатывали ввод ключа

Комментарии:

1. Самые простые решения всегда лучшие 🙂 Большое вам спасибо

2. Отметьте ответ на вопрос и примите ответ, пожалуйста