防止上下文菜单在单击项目(特别是复选框项目)时关闭

发布于 2024-08-22 11:37:34 字数 48 浏览 8 评论 0原文

如果我在上下文菜单或普通菜单中有一个可检查的项目,如何防止菜单在选择该项目时关闭?

If I have a checkable item in a Context Menu or ordianry Menu, how do I prevent the menu from closing when the item is selected?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

水中月 2024-08-29 11:37:34

这取决于您使用哪个库来创建菜单(ABS/ABC/?),但通常我认为您在处理项目点击时只需返回 falsereturn 值让系统知道点击是否已被处理。通常您会将其设置为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);
    }
}

It depends on what library your using to create the Menu (ABS/ABC/?) but generally I think you'd just have to return false when handling an item click. The return value lets the system know whether the click was handled or not. Normally you'd set it to true, then the system will do its default behavior of closing the menu. Here's an example for a contextual menu:

@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);
    }
}
瑾夏年华 2024-08-29 11:37:34

就我而言,添加这两行有效:

item.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
item.setActionView(new View(getApplicationContext()));

In my case adding these two lines worked:

item.setShowAsAction(MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
item.setActionView(new View(getApplicationContext()));
朦胧时间 2024-08-29 11:37:34

使用以下属性:

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

Use the following property:

<MenuItem IsCheckable="True" StaysOpenOnClick="True"...
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文