我有一个使用PreferenceFragment制作的片段,在这里我重写了onOptionsMenuClosed()。但是,它的回调没有实现,也没有回调到OnMenuOpened(),OnPanelCosed()...

这就是我已经厌倦的。

@Override
public void onOptionsMenuClosed(Menu menu) {
   // TODO Auto-generated method stub
   Log.e(TAG, "close optionmenu");
   super.onOptionsMenuClosed(menu);
}


和onPanelClosed这是我正在尝试。

@Override
public void onPanelClosed(int featureId, Menu menu) {
    Log.e(TAG,"on panel closed the feature id is vivek "+featureId);
    super.onPanelClosed(featureId, menu);
}


当我为onPanelClosed()执行此操作时,
这个你能帮我吗..

请提出我在哪里弄错了。如果菜单关闭而未选择任何选项,则可以采用其他任何方式捕获。

最佳答案

我终于找到了解决方案:) ..
这是做什么的。

public boolean isOverflowMenuOpen  = false;
@Override
public void onActivityCreated(Bundle savedInstanceState) {
    Activity activity = getActivity();
    activity.getActionBar().addOnMenuVisibilityListener(new OnMenuVisibilityListener() {
    @Override
        public void onMenuVisibilityChanged(boolean isVisible) {
            // TODO Auto-generated method stub
            isOverflowMenuOpen = isOverflowMenuOpen ? false : true;
        }
    });


现在,从变量isOverflowMenuOpen中,我可以跟踪溢出菜单是否打开。

08-06 08:57