【问题标题】:Is it possible to have 2 context menus in same activity?在同一个活动中是否可以有 2 个上下文菜单?
【发布时间】:2013-03-02 17:02:55
【问题描述】:

我有一个带有TextView 和图像图标的活动。我已经通过覆盖 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 添加另一个上下文菜单?

【问题讨论】:

标签: android android-contextmenu


【解决方案1】:

您可以使用 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;
}
    }   

【讨论】:

    【解决方案2】:

    通过该方法传递给您的参数将帮助您分支到不同的事物。

    这是一个例子:

    public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo) {  
        super.onCreateContextMenu(menu, v, menuInfo);
            if( v.equals(yourImgView) ){
                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));  
            }else if ( v.equals(yourTxtView) ) {
                //Do your textView things.
            }
    
        } 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-06
      • 2014-10-13
      • 1970-01-01
      • 1970-01-01
      • 2011-06-21
      相关资源
      最近更新 更多