Как помешать программируемой клавиатуре открываться на запуске действия в Android?

В приложении для Android, каждый раз, когда действие запускается, текстовое поле получает фокус, и программируемая клавиатура открывается автоматически. Я попытался остановить это при помощи следующей строки в onCreate методе, но это не работает.

((InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(EditText.getWindowToken(), 0);
37
задан Adnan 14 June 2010 в 13:01
поделиться

3 ответа

Вы можете использовать следующую строку кода, чтобы убедиться, что клавиатура появляется только тогда, когда пользователь нажимает на EditText

Java

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN); 

Kotlin

window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN)

И

Вам необходимо добавить

android: windowSoftInputMode = "adjustResize"

в тег активности в файле AndroidManifest.xml.

19
ответ дан 27 November 2019 в 04:04
поделиться

Работает ли следующее?

// Find editor
EditText editWindowInstance = this.findViewById(R.id.MyEditWindow);

// close soft keyboard 
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(editWindowInstance.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); 
2
ответ дан 27 November 2019 в 04:04
поделиться

У меня работает следующий код

((InputMethodManager) iClockActivity
                    .getSystemService(Context.INPUT_METHOD_SERVICE))
                    .showSoftInput(textView, 0);
0
ответ дан 27 November 2019 в 04:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: