У меня есть некоторые намерения внутри контроллера вкладок, и для одного из них у меня есть текст редактирования, который мне нужно знать наверняка, когда он имеет фокус и когда он теряет этот фокус.
Я сопоставил большинство событий, таких как слушатель фокуса, OnEditorActionListener и т. Д., Теперь моя единственная проблема, которая остается, состоит в том, что, когда у меня есть фокус, появляется программная клавиатура, и я хочу закрыть ее:
1) кнопкой «Готово», а не кнопкой «Назад» на телефоне (отключите кнопку «Назад», чтобы закрыть клавиатуру, когда она видна)
2) обнаружение события кнопки назад, когда клавиатура видна, чтобы я мог передать фокус на какой-то другой элемент управления.
Я пробовал несколько способов, но безуспешно, например onBackPressed, onConfigurationChanged (добавить hiddenKeyboard в манифесте), key_down для активности и т. Д., Но безуспешно.
Кто-нибудь преуспел в этом? Практически я хочу, чтобы когда клавиатура была видна, и я нажимаю обратно на телефоне, мой текст редактирования теряет фокус (otherControl.requestFocus ->, который является относительным макетом).