2013-02-09 92 views
2

名称形式上下文菜单我用我的活动在android列表视图...如何获得所选项目的Android

现在我需要得到从列表中选择项目的名称...

这里是我的菜单代码创建

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


    MenuInflater inflater = getMenuInflater(); 
    inflater.inflate(R.menu.activity_main, menu); //select layout which should pop up in context menu 

    menu.add("Delete"); 
    menu.add("Rename"); 

} 

什么,我需要的是让下面的函数,它捕获上下文菜单上点击所选项目的名称列表视图的方式。

@Override 
public boolean onContextItemSelected(MenuItem item) 
{ 

    super.onContextItemSelected(item); 


    if(item.getTitle()=="Delete"){ 
     //slected item's name in string varible here?? 
    } 
    if(item.getTitle()=="Rename"){ 
      //slected item's name in string varible here?? 
    } 
    return true; 

} 
+1

问题4444444 – David 2013-02-09 16:34:23

+0

@大卫真的?凉。 – jasonflaherty 2013-02-09 16:35:18

回答

6

得到的itemId使用这样的:如果你想收到的名称

AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo(); 

您可以通过

info.id 

获得一个项目的ID,你也可以用它来info.position以获取列表中项目的位置。随着位置你可以从ListView中获得该项目获得

+0

感谢它很好地工作 – 2013-02-09 19:07:35

0

公共布尔onContextItemSelected的项目(菜单项项){ AdapterView.AdapterContextMenuInfo itemInfo =(AdapterView.AdapterContextMenuInfo)item.getMenuInfo()的名称; int itemId = itemInfo.position; //实现我们的逻辑

if (item.getTitle()=="Add") { 
     Toast.makeText(this, "Item id [" + itemId + "]", Toast.LENGTH_SHORT).show(); 


    } 
    return true; 

}