Отмените выбор любого трекбола / трекпада

1

Есть ли способ программно отменить выбор/стереть все, что пользователь выбрал с помощью трекбола/трекпада?

Когда я нажимаю кнопку "Назад" в "Деятельности", на действие, на которое он падает, есть кнопка, которая выбрана так, как если бы пользователь использовал трекбол/пэд. Я не уверен, что выбрано в предыдущей операции, но, очевидно, что-то есть. Я хочу программно стереть любой выбор перед завершением действия.

Теги:
selection
trackpad
trackball

1 ответ

0
Лучший ответ

Просмотр JavaDoc for View Я вижу ряд функций, связанных с фокусом.

void clearFocus(); // drop focus from this view.
View findFocus(); // finds a view that is a child of this view that has focus, if any
View focusSearch(int dir); // finds the next view that can take focus in the given direction
void requestFocus

Похоже, что findFocus().clearFocus() должен делать трюк (если findFocus не возвращает null)... вам просто нужен дескриптор для другого вида активности... который не должен быть слишком сложным, если это ваш код, или Non Тривиально, если это не так.

Если это ваш код, кажется, что вы можете просто добавить clearFocus() к кнопке onClickHandler.

  • 0
    Это кажется совершенно логичным для меня, но по какой-то причине это не работает. Я попытался переопределить обработчик onBackPressed и очистить фокус непосредственно перед вызовом finish () ;. Я также попытался очистить фокус внутри обработчика onActivityResult задней активности. В обоих случаях я все равно получаю кнопку в задней части Activity в фокусе :( Это ТОЛЬКО происходит, когда я набираю EditText в верхней Activity.
  • 0
    Я полагаю, что есть событие изменения фокуса, которое вы можете слушать ... ах. Вы переопределяете View.onFocusChanged и / или View.onWindowFocusChanged . Информация на той же странице, на которую я ссылался ранее.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню