TL; DR:onCreateContextMenu在listviewitem中的布局上设置后没有被调用。
我有一个消息应用程序,它有气泡来显示消息。现在我希望有一个在按下气泡本身时打开的上下文菜单,因此不仅仅是列表的整行。从上下文菜单中我想删除当前的listItem。 我现在有以下内容: 在适配器的getView:
View.OnClickListener listener = new View.OnClickListener(){
@Override
public void onClick(View v) {
ListView lv = (ListView) context.findViewById(R.id.list_view_messages);
View view = lv.getChildAt(position - lv.getFirstVisiblePosition());
context.registerForContextMenu(view);
context.openContextMenu(view);
notifyDataSetChanged();
}
};
在包含片段中:
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo) {
menu.add("menuItem");
}
}
@Override
public boolean onContextItemSelected(MenuItem item) {
//do stuff
return true;
}
但是这没有做任何事情,onCreateContextMenu甚至都没有被调用 任何人都知道为什么这不起作用或如何让它工作?