0

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

@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);
}

,但上下文菜单仅在第一个列表中有效。我的错误在哪里?

谢谢!

4

1 回答 1

0

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

public void onActivityCreated(Bundle savedState) {
registerForContextMenu(getListView());
}
于 2013-07-15T09:03:25.657 回答