2011-02-15 94 views
1

我有一个viewFlipper与每个“翻转”不同的ListViews。我制作了所有列表registerForContextMenu(chosenList);,并且按照我的意愿在每个列表中出现longPress菜单。多个列表与不同的contextMenus

现在我想在不同的列表视图中有不同的contextMenues。例如。一个带有网络信息的列表将在contextMenu中有与网络相关的选择,并且与朋友的列表在contextMenu中将具有另一组选择。

我该如何有效地做到这一点?这甚至有可能吗?

public void onCreateContextMenu(ContextMenu menu2, menu3, menu4, View v, ContextMenuInfo menuInfo) { 
    super.onCreateContextMenu(menu2, menu3, menu4, v, menuInfo); 
    menu2.setHeaderTitle("Quick Menu"); 
    menu3.setHeaderTitle("Menu3"); 
    menu4.setHeaderTitle("Menu4"); 
    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.context_menu, menu2); 
    inflater.inflate(R.menu.context_menu3, menu3); 
    inflater.inflate(R.menu.context_menu4, menu4); 
} 

...或...?能怎样?这是开始驱动我的脑疯狂...:d

回答

11

您onCreateContextMenu(),这样做内部:

switch(v.getId()) 
{ 
    case R.id.list1: 
    { 
     inflater.inflate(R.menu.context_menu1, menu) 
     break; 
    } 
    case R.id.list2: 
    { 
     inflater.inflate(R.menu.context_menu2, menu) 
     break; 
    } 
} 
+0

嗯,好主意! *试着* – dedmau5 2011-02-16 08:46:38