Не знаю, работает ли это для TimePicker, но я нашел правильный параметр, чтобы использовать его для предотвращения отображения клавиатуры при фокусировке редактируемого текста или с помощью меню копирования и вставки его содержимого:
СначалаВы должны позвонить setInputType(InputType.TYPE_NULL)
на editText
.
Далее создайте экземпляр InputTypeManager:
InputMethodManager imm =
(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
И затем вызовите hideSoftInputFromWindow()
для объекта imm
, но с использованием InputMethodManager.HIDE_NOT_ALWAYS
в качестве второго параметра вместо 0 (как рекомендуется впервый ответ):
imm.hideSoftInputFromWindow(editText.getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS)
Это предотвратит появление программной клавиатуры при нажатии / фокусировке этого элемента управления EditText, даже при использовании клавиши меню для выполнения операций копирования / вставки.
PS: если вы хотите запретить операции копирования / вставки, вы можете вызвать editText.setEditable(false)
, но тогда вы не сможете динамически изменять содержимое EditText.