gpt4 book ai didi

Android - ListView - 上下文菜单不起作用

转载 作者:太空宇宙 更新时间:2023-11-03 13:25:20 24 4
gpt4 key购买 nike

我有一个 ListFragment,我在其中使用 registerForContextMenu() 注册了上下文菜单,并覆盖了 onCreateContextMenu()。问题是当我长按任何项目时,永远不会调用 onCreateContextMenu()

这是一些代码:

public class List_F extends ListFragment {
@Override
public void onActivityCreated(Bundle arg0) {
super.onActivityCreated(arg0);

registerForContextMenu(getListView());

setListAdapter(...);
setListShown(false);

// launch cursor loader
}

@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenu.ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getActivity().getMenuInflater();
inflater.inflate(R.menu.menu, menu);
}

@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
int i = item.getItemId();
if (i == R.id.menu_item_delete) {
delete(info.id);
return true;
} else {
return super.onContextItemSelected(item);
}
}
}

知道为什么吗?

我也试过

getListView().setOnItemLongClickListener() 

它甚至没有被调用。

有什么想法吗?

最佳答案

找到罪魁祸首了!

我在 Adapter 的 View 上设置了一个 OnClickListener

这可能是在吃掉长按事件。

我将每个 View 中的 OnClickListener 更改为 ListView 上的 OnItemClickListener

关于Android - ListView - 上下文菜单不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21272309/

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