选项菜单 – 从项目中删除焦点

如何从选项菜单项删除焦点? 即当我第一次打开菜单时,没有任何项目有焦点。 但是,如果我使用跟踪球专注于其中一个,然后closures并重新打开菜单,焦点仍然在那里。 我如何摆脱它?

我正在清理并重新创buildonPrepareOptionsMenu的菜单(因为我必须将其调整为当前的活动状态)。

编辑:

 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应用程序。

这种情况不仅存在于选项菜单项中,而且还存在于布局中。 一旦你离开触摸模式,我不认为有一种方法可以再次进入(因此除去所有视图的焦点),除非你触摸屏幕。 我所见过的一个解决方法是去除焦点的可见效果(当不在触摸模式下)时,只需将其提供给不可见的元素即可。 你可以创build一个不可见的菜单选项,并当你想清除它给焦点?

除非你find一种以编程方式,可靠地进入触摸模式或从所有视图中删除焦点(调用View.clearFocus()只是传递给另一个视图!),这可能是你最好的select。