android - 是否可以在同一个 Activity 中有 2 个上下文菜单?

标签 android android-contextmenu

我有一个带有 TextView 和图像图标的 Activity 。我已经通过覆盖 onCreateContextMenu() 为图像图标创建了上下文菜单.

不过,我还想为 TextView 添加另一个上下文菜单。但是,我注意到我已经在使用 onCreateContextMenu():

public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {  
    super.onCreateContextMenu(menu, v, menuInfo);  
    menu.setHeaderTitle(getString(R.string.option1));  
    menu.add(0, v.getId(), 0, getString(R.string.option2));  
    menu.add(0, v.getId(), 0, getString(R.string.options3));  
}

因此,是否可以为 TextView 添加另一个上下文菜单?

最佳答案

您可以使用 onCreateContextMenu 中传递的 View 对象来确定菜单的所有者并相应地填充菜单。

您的代码应如下所示:

public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {  
    super.onCreateContextMenu(menu, v, menuInfo);  
        switch (v.getId()) {
          case R.id.imageIconId:
             menu.setHeaderTitle(getString(R.string.option1));  
             menu.add(0, v.getId(), 0, getString(R.string.option2));   
             menu.add(0, v.getId(), 0, getString(R.string.options3));  
           break;
          case R.id.textViewid:
            // do whatever you want with the menu object.
           break;
}
    }   

关于android - 是否可以在同一个 Activity 中有 2 个上下文菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15177074/

相关文章:

android - RxJava 通用方法来检查订阅者中的错误消息

android - 如何在支持和不支持的情况下在 ListVIew 中使用 MultiChoiceModeListener?

android - onContextItemSelected 不会在 DialogFragment 中被调用

android - EditText 光标在 Android 4.0 中不可见

android - Android框架的哪一部分负责播放动画?

android - 使用改造时是否需要检查 Activity 是否仍然存在?

android - 如何在 Android 中的特定位置打开上下文菜单而不是作为菜单对话框

android - 自定义上下文菜单,如 pinterest 菜单

android - session 超时并在 android 中几个小时后自动从应用程序注销