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

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

Я 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() просто передает его в другое представление!), Это может быть вашим лучшим выбором.