java - 如何在运行时启用/禁用上下文菜单项

标签 java android

我想根据特定条件启用/禁用项目...

使用选项菜单,您可以:

.setGroupEnabled(0, false);

但是我不知道如何使用上下文菜单来做到这一点

我该怎么做?

谢谢

编辑:这些项目在膨胀菜单中

@Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {

        super.onCreateContextMenu(menu, v, menuInfo);

        MenuInflater inflater = getMenuInflater();

        inflater.inflate(R.menu.options, menu);
    }

最佳答案

您可以在运行时通过 onCreateContextMenu 方法修改/创建上下文菜单。

@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
    super.onCreateContextMenu(menu, v, menuInfo);

    AdapterContextMenuInfo info = (AdapterContextMenuInfo) menuInfo;
    MyObject obj = (MyObject) myListView.getItemAtPosition(info.position);

    menu.setHeaderTitle("Selection Options");  
    menu.add(0, v.getId(), 0, "Remove " + obj.name); 
}

这是我从 this post 中获取的一些示例代码.通过覆盖此方法,您可以在创建菜单时对其进行修改。只需在此处添加一些条件来控制您的不同场景。

关于java - 如何在运行时启用/禁用上下文菜单项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17404092/

相关文章:

java - jsp (jSTL 1.2) - 从 java 列表中设置变量

android - 如何判断在 countDownTimer() 方法期间用户何时按下按钮?

android - 如何从 Firestore 任务中获取响应代码

android - 如何从 Android NDK 或 Cocos2dx 发送短信

java - 用于连接 v3 中的 Quickbooks Desktop 的 API

java - 什么可能是 ParameterizedType 的实例?

java - 在 Java 中并行执行代码

android - 如何在方向更改时使用 onSaveInstanceState 和 onRestoreInstanceState 保存状态

java - Recyclerview 不调用 onCreateViewHolder

java - 用Java将两个矩阵相乘