gpt4 book ai didi

Android:如何找到从上下文菜单中单击的位置

转载 作者:IT老高 更新时间:2023-10-28 21:45:48 26 4
gpt4 key购买 nike

我有一个充满数据的 ListView 。我使用以下代码为 listview 设置了一个上下文菜单:

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");
}
}
);

我有以下方法覆盖来控制选中的上下文菜单菜单项:

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

在这个被覆盖的方法中,我怎样才能找到被点击的 ListView 的项目?

最佳答案

您可以使用ContextMenu.ContextMenuInfo

类似的东西:

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

您还可以获得正在显示菜单的确切 View:

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

关于Android:如何找到从上下文菜单中单击的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2453620/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com