Я хочу сделать следующее. Пользователь должен иметь возможность вводить одну букву (только букву) со стандартной клавиатуры (аппаратное или программное обеспечение). Если он набирает другое письмо, тогда предыдущее письмо должно быть заменено этим. Поэтому должна отображаться только текущая буква. Пользователь должен уметь отменить это диалоговое окно и вернуться к активности. И если он нажал кнопку «done» на клавиатуре, активность должна знать, в какую букву он вошел.Клавиатура не отображается, когда EditText находится в фокусе
Так что я подумал о диалоговом окне предупреждения и отредактировал текст с некоторыми расширениями, чтобы отображать только текущий символ. Это легко.
Однако, это меня уже сходит с ума, хотя текст редактирования находится в фокусе, клавиатура не появляется на экране до тех пор, пока не будет нажат отредактированный текст. Почему это так? Должно быть, не так ли?
Для ответа я не буду брать что-то вроде следующего, потому что мне не нужно будет делать это вручную. Он должен быть автоматическим. Кроме того, я не уверен, как это будет работать с аппаратной клавиатурой.
InputMethodManager imm = InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(YourEditText.getWindowToken(), 0);
Я хочу знать, почему именно клавиатура не отображается после того, как текст редактирования имеет фокус? И что мне делать, чтобы получить эту функциональность без ручного включения и отключения клавиатуры программного обеспечения.
Вы читали мой вопрос? Я сказал, что не буду использовать это обходное решение в качестве ответа. Я хочу знать, почему это происходит. Должно ли это случиться? – user1685095
Ну, как вопрос был изначально сформулирован, неясно, не возьмете ли вы это в качестве ответа или хотите принять это как ответ. –