具有不同contextMenus的多个列表

时间:2011-02-15 16:07:59

标签: android listview contextmenu

我有一个viewFlipper,在每个“翻转”中都有不同的ListView。我已经制作了所有列表registerForContextMenu(chosenList);,并且longPress菜单出现在我想要的每个列表中。

现在我希望在不同的列表视图中有不同的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

1 个答案:

答案 0 :(得分: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;
    }   
}