【问题标题】:How to get View in OnContextItemSelected event?如何在 OnContextItemSelected 事件中获取视图?
【发布时间】:2013-07-15 09:18:34
【问题描述】:

在 public void onCreateContextMenu(ContextMenu menu, View v,ContextMenuInfo menuInfo} 事件中,

我想我可以使用以下方法通过 arg View v 知道哪个控件启动 onCreateContextMenu 事件,对吧?
ImageView imageview=(ImageView)v

但是在 public boolean onContextItemSelected(MenuItem item) 中,我找不到相同的 arg,我该怎么办?谢谢!

【问题讨论】:

标签: android


【解决方案1】:

您可以像这样使用ContextMenu.ContextMenuInfo

@Override
public boolean onContextItemSelected(MenuItem item) {
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
    int index = info.position;
}

您还可以获得正在显示菜单的确切视图:

@Override
public boolean onContextItemSelected(MenuItem item) {
    AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
    int index = info.position;
    View view = info.targetView;
}

看看这些问题:

Android: How to find the position clicked from the context menu

Identifying the view selected in a ContextMenu (Android)

【讨论】:

    【解决方案2】:

    你可以使用

    View v2;
    @Override
    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
        super.onCreateContextMenu(menu, v, menuInfo);
        v2=v;
          getMenuInflater().inflate(R.menu.cnt_menu, menu);
      //  }
      }
    

    【讨论】:

      猜你喜欢
      • 2013-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-14
      相关资源
      最近更新 更多