2013-05-31 46 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. 
}