2011-02-15 31 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