lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView text = (TextView) view.findViewById(R.id.btitle);
registerForContextMenu(text);
view.showContextMenu();
}
});
}
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
TextView text = (TextView) v.findViewById(R.id.btitle);
CharSequence itemTitle = text.getText();
menu.setHeaderTitle(itemTitle);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.context_menu, menu);
}
Hello,
我正在尝试在短项目单击上打开上下文菜单。
仅当我添加时我才能做到这一点registerForContextMenu(getListView());
某处,但这也会在长按时触发 contextMenu (我不希望发生)。
- Tried
view.showContextMenu()
但它不会做任何事情,除非我添加registerForContextMenu(getListView());
.
- 尝试先注册单击的项目,然后调用
showContextMenu()
但也没有做任何事情...
另外,我想获取单击的项目图像+文本,以便我可以在 contextMenu 中使用它们。
感谢您的帮助!
我可以使用以下代码在单击按钮时打开上下文菜单:
public void onButtonClickEvent(View sender)
{
registerForContextMenu(sender);
openContextMenu(sender);
unregisterForContextMenu(sender);
}
只需将按钮的 onClick 属性设置为 onButtonClickEvent 即可。长按不会触发上下文菜单,因为它在显示后立即取消注册。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)