我有ListView,我注册听上下文菜单。之后我在listView A,B和C中得到3个项目。当我长按其中一些时,显示上下文菜单,但我怎么知道这是A还是B还是C?如何找出按下了哪个项目?
答案 0 :(得分:1)
您必须使用一些List来填充ListView ...然后使用以下内容:
@Override
public boolean onContextItemSelected(MenuItem item)
{
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item
.getMenuInfo();
int temp = info.position;
//temp is the index of your list.. simply use this:
String item = list.get(temp);
return true;
}
希望有所帮助
<强> UPDATE :: 强>
要检查按下了哪个项目以及要显示的菜单,请参阅以下内容:
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo)
{
if (v.getId() == your listview id)
{
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
//Now simply use info.position to get the string from your list. use
// if else statements and use menu.add(String) to add menu items....
}
答案 1 :(得分:0)
Here一些如何使用ContextMenu的示例,您只需要覆盖onContextItemSelected(MenuItem item)