2

我在我的活动中使用 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;

}
4

2 回答 2

6

获取 itemId 使用这个:

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

您可以通过以下方式获取项目的 ID

info.id

如果要接收名称,还可以使用 toinfo.position来获取项目在列表中的位置。有了position就可以从listView中获取item来获取item的名字

于 2013-02-09T16:39:08.297 回答
1

public boolean onContextItemSelected(MenuItem item) { AdapterView.AdapterContextMenuInfo itemInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo(); int itemId = itemInfo.position; // Implements our logic

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


    }
    return true;

}
于 2015-07-21T08:23:35.600 回答