听菜单打开

时间:2017-06-11 06:19:22

标签: android focus popupmenu optionmenu

我有RelativeLayout。在那里我创建了几个ToggleButton视图。用户可以打开和关闭这些ToggleButtons。

当用户打开Activity OptionMenu时,我希望所有这些ToggleButtons变为OFF。为此,我在onPrepareOptionsMenu代码中以编程方式将ToggleButtons设置为OFF。

我还PopupMenu注册了Imagebutton。我还希望当用户通过单击PopupMenu所有ToggleButtons变为OFF来打开Imagebutton时。所以,我在图像按钮的setOnClickListener代码中将togglebuttons转为关闭。

我的问题是,只有在OptionsMenuPopupMenu关闭后才会显示Togglebuttons状态(关闭)的更新。相反,我希望用户打开菜单后,所有ToggleButtons都会关闭。我想我必须在某些视图上使用一些OnFocusChangeListener。我尝试在Activity的顶部布局上使用它,但它不起作用。

我怎么能得到我想要的结果?

1 个答案:

答案 0 :(得分:0)

我自己通过覆盖onWindowFocusChanged方法找到了解决方案,如下所示:

@Override
public void onWindowFocusChanged(boolean hasFocus) {
    if (!hasFocus) {
        //code to turn off togglebuttons goes here 
    }
}