我有一个使用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中,我可以跟踪溢出菜单是否打开。