代码之家  ›  专栏  ›  技术社区  ›  Monstieur

阻止上下文菜单关闭单击项(特别是复选框项)

  •  2
  • Monstieur  · 技术社区  · 15 年前

    如果在关联菜单或常规菜单中有可选中的项,如何在选中该项时阻止菜单关闭?

    3 回复  |  直到 11 年前
        1
  •  0
  •   Piotr Sagalara    7 年前

    在我的例子中,添加这两行代码是有效的:

    item.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
    item.setActionView(new View(getApplicationContext()));
    
        2
  •  -1
  •   user1923613    11 年前

    这取决于您使用什么库来创建菜单(abs/abc/?)但总的来说我认为你必须 return false 处理项目时单击。这个 return 值让系统知道是否处理了单击。通常你会设置为 true ,则系统将执行关闭菜单的默认行为。以下是上下文菜单的示例:

    @Override
    public boolean onContextItemSelected(MenuItem item) {
        AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
        switch (item.getItemId()) {
            case R.id.edit:
                editNote(info.id);
                return true; // return false here
            case R.id.delete:
                deleteNote(info.id);
                return true; // or here
            default:
                return super.onContextItemSelected(item);
        }
    }
    
        3
  •  -5
  •   Bill the Lizard    14 年前

    使用以下属性:

    <MenuItem IsCheckable="True" StaysOpenOnClick="True"...