我在我的活动中使用了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;
}
答案 0 :(得分:6)
获取itemId使用此:
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item.getMenuInfo();
您可以通过
获取商品的IDinfo.id
如果您想接收姓名,您还可以使用info.position
来获取列表中项目的位置。通过该位置,您可以从listView获取项目以获取项目的名称
答案 1 :(得分:0)
public boolean onContextItemSelected(MenuItem item){ 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;
}