У меня есть некоторые намерения внутри контроллера табуляции, и для одного из них у меня есть текст редактирования, который мне нужно знать наверняка, когда он имеет фокус, и когда он теряет этот фокус. Я отобразил большинство событий, таких как прослушиватель фокуса, OnEditorActionListener и т. Д. Теперь моя единственная проблема заключается в том, что когда у меня есть фокус, появляется мягкая клавиатура, и я хочу ее закрыть: 1) кнопкой done, а не по кнопке «Назад» на телефоне (отключите кнопку «Назад», чтобы закрыть клавиатуру, когда клавиатура видна) 2) обнаружение события кнопки «Назад», когда клавиатура видна, чтобы я мог передать фокус другому элементу управления.Обнаружение обратного события на клавиатуре Android
Я пробовал несколько способов, но без успеха, например onBackPressed, onConfigurationChanged (добавить hiddenKeyboard в манифесте), key_down по активности и т. Д., Но не удался.
Неужели кто-нибудь преуспел в этом? Практически я хочу, когда клавиатура видна, и я нажимаю на телефон, мой текст редактирования теряет фокус (otherControl.requestFocus ->, который является относительным расположением).
показать мне, что вы пробовали до сих пор – confucius
1. это один txtSearchBar .setOnEditorActionListener (новый EditText.OnEditorActionListener() \t {\t \t public boolean onEditorAction (T extView v, Int ActionId, KeyEvent событие) \t { \t, если (event.getKeyCode() == KEYCODE_BACK) \t { \t \t layoutFocus.requestFocus(); \t \t \t \t} \t return false; \t} \t}); 2. метод 2 on onBackPressed, layoutFocus.requestFocus(); 3.добавить hiddenKeyboard в манифесте для этой деятельности и положить \t @Override \t общественного недействительными onConfigurationChanged (Конфигурация newConfig) – Catalin
Невозможно добавить больше кода, поскольку я не могу ответить на мой вопрос, если у меня есть более чем 100 очков репутации :) – Catalin