Intereting Posts
Как установить максимальную расширенную высоту в нижнем листе поддержки поддержки Android? Создание изображений XHDPI, HDPI, MDPI, LDPI в Photoshop для Android Как определить, включен ли Daydream? Android: Theme.Material.Light требует уровня API 21 (текущий минимум 8) Установить источник ImageView динамически андроида Пользовательский диалог на Android: как я могу сосредоточить свое название? Как отменить уведомление о неожиданном / принудительном завершении приложения Android запускает поток в сервисе каждые X секунд Разница между основной нитью и потоком пользовательского интерфейса Как AsyncTask все еще может использовать Activity, если пользователь уже перешел от него? Диспетчер тегов Google выдает сообщение «недопустимый макрос» Отжимать содержимое, кроме некоторого вида, когда отображается клавиатура Изменение ориентации экрана в Android без перезагрузки Кнопка «Назад» на панели действий Android: errorMessageBackground не получает ошибку найденного ресурса в styles.xml

Меню параметров – удаление фокуса с элемента

Как удалить фокус из пункта меню параметров? Т.е. когда я открываю меню в первый раз, ни один из пунктов не имеет фокуса. Однако, если я сосредоточусь на одном из них, используя шарик трека, а затем закройте и снова откройте меню, фокус все еще там. Как я могу избавиться от него?

Я onPrepareOptionsMenu и воссоздаю меню в onPrepareOptionsMenu (так как я должен настроить его на текущее состояние активности).

РЕДАКТИРОВАТЬ:

 public boolean onPrepareOptionsMenu(Menu menu){ menu.clear(); MenuInflater inflater = getMenuInflater(); inflater.inflate(R.menu.my_menu, menu); return true; } 

Solutions Collecting From Web of "Меню параметров – удаление фокуса с элемента"

Как только вы используете трекбол (или действительно нажмите любую другую клавишу на клавиатуре), вы выходите из режима касания . С этого момента появится какое-то представление с фокусом (вы можете увидеть это, вызвав Activity.getCurrentFocus() ). Этот режим сохраняется до тех пор, пока вы снова не коснетесь экрана, после чего вы снова войдете в сенсорный режим, и когда вы откроете меню в последующих случаях, объект не будет сфокусирован. Это происходит в каждом приложении Android, которое я видел с помощью меню.

Эта ситуация существует не только для пунктов меню опций, но и для представлений в вашем макете. Как только вы покинете сенсорный режим, я не думаю, что есть способ снова ввести его (и, следовательно, удалить фокус со всех видов), если вы не коснетесь экрана. Решение, которое я видел для удаления видимых эффектов фокуса (когда он не находится в режиме касания), состоит в том, чтобы просто передать его элементу, который не отображается. Не могли бы вы создать невидимый пункт меню и дать ему фокус, когда вы хотите его очистить?

Если вы не найдете способ программно, надежно войти в сенсорный режим или удалить фокус со всех видов (вызов View.clearFocus() просто передает его в другое представление!), Это может быть вашим лучшим выбором.