Android的:如何找到的位置从上下文菜单中点击 [英] Android: How to find the position clicked from the context menu

查看:339
本文介绍了Android的:如何找到的位置从上下文菜单中点击的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有充满数据的列表视图。我设置的列表视图的上下文菜单使用以下code:

I have a list view filled with data. I set up a context menu for the listview using the following code:

list.setOnCreateContextMenuListener
(
  new View.OnCreateContextMenuListener() 
  {
        public void onCreateContextMenu(ContextMenu menu, View view, ContextMenu.ContextMenuInfo menuInfo) 
        {
       AdapterContextMenuInfo mi =(AdapterContextMenuInfo) menuInfo;
       menu.add(0, 0, 0, "Delete item");                
    }
   }
);

我有以下方法重写来控制德文本菜单菜单项选择:

I have the following method override to control de contextmenu menuitem selected:

@Override
public boolean onContextItemSelected(MenuItem item) 
{
  switch(item.getItemId()) 
  { 
  case 0: 
    ShowAlert("hello from delete item");
    break; 
  default: 
  return super.onContextItemSelected(item); 
  } 
  return true; 
}

在此overrided方法,我怎么能找到被点击列表视图的项目?

In this overrided method, how could i find the item of the list view that was clicked?

在此先感谢。 诚挚的问候。 何塞

Thanks in advance. Best Regards. Jose

推荐答案

您可以使用 ContextMenu.ContextMenuInfo

这样的东西:

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

您还可以得到确切的查看为其在显示菜单:

You can also get the exact View for which the menu is being displayed:

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

这篇关于Android的:如何找到的位置从上下文菜单中点击的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆