onCreateContextMenu在两个列表中

时间:2013-07-15 08:41:06

标签: android actionbarsherlock fragment

我正在使用一个sherlock lib,我有一个带有2个SherlockListFragment的SherlockBar + ViewPagerIndicator,我需要在每个列表中使用onCreateContextMenu,我在main extends SherlockFragmentActivity中编写了一个oveeride方法

@Override
public void onCreateContextMenu(ContextMenu contextMenu, View view, ContextMenu.ContextMenuInfo contextMenuInfo) {
    if(indicator.getCurrentItem()==PAGE_M) {
        getMenuInflater().inflate(R.menu.mcontextmenu, contextMenu);
        messageViewHolder=(MessageViewHolder )view.getTag();
    }
    else {
        getMenuInflater().inflate(R.menu.ccontextmenu, contextMenu);
        messageViewHolder=null;
    }
    super.onCreateContextMenu(contextMenu, view, contextMenuInfo);
}

,但上下文菜单仅适用于第一个列表。我的错误在哪里?

谢谢!

1 个答案:

答案 0 :(得分:0)

你应该确保在onActivityCreated中为每个片段调用registerForContextMenu。

public void onActivityCreated(Bundle savedState) {
registerForContextMenu(getListView());
}