我正在使用一个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);
}
,但上下文菜单仅适用于第一个列表。我的错误在哪里?
谢谢!
答案 0 :(得分:0)
你应该确保在onActivityCreated中为每个片段调用registerForContextMenu。
public void onActivityCreated(Bundle savedState) {
registerForContextMenu(getListView());
}