2013-07-15 29 views
0

我使用的是福爾摩斯lib和我有一個SherlockBar + ViewPagerIndicator 2 SherlockListFragment,我需要在每個列表中使用onCreateContextMenu,我在主extends SherlockFragmentActivityonCreateContextMenu兩個列表

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

寫了oveeride方法,但上下文菜單僅在第一個列表中起作用。我的錯誤在哪裏?

謝謝!

回答

0

您應該確保在每個片段的onActivityCreated內調用registerForContextMenu。

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

問題是,上下文菜單被註冊只針對第一個片段,我試圖onCreateContextMenu在每個片段。但它沒有幫助 – Gorets