我在每个“翻转”中都有一个具有不同ListViews的viewFlipper。我已将所有列表设为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

最佳答案

在您的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;
    }
}

10-08 13:54