2013-05-31 47 views
2

奇怪的是,Fragment和v4.Fragment都没有实现“onContextMenuClosed”。还有其他事件,比如onCreateContextMenu和onContextItemSelected。onContextMenuClosed没有在片段中实现

当上下文菜单关闭时,我需要清理一些东西,可以通过后退按钮激活,点击屏幕上的空白区域,或在上下文菜单中选择一个菜单项。

如何监控片段中上下文菜单的解除状态?

回答

4

片段中的菜单关闭事件也会触发其父活动的“onContextMenuClosed”。所以我只是重写事件并将其传递给片段中的自我实现的事件处理函数。

// The parent activity.java: 
@Override 
public void onContextMenuClosed(Menu menu) { 
    super.onContextMenuClosed(menu); 
    childFragment.onContextMenuClosed(menu); 
} 

// The child fragment.java: 
public void onContextMenuClosed(Menu menu) { 
    // Do you business here. 
}