I have a ListView. I implemented OnItemClickListener to open a ContextMenu when an item is clicked.
lv = getListView();
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
showMenu(view);
}
});
And the code to create menu.
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.layout.friend_list_menu, menu);
}
public void showMenu(View v) {
registerForContextMenu(v);
openContextMenu(v);
}
My problem is, when I clicked on one item of ListView, it does open the Menu. But if I go back to the ListView, I can’t click that item again. The same for other items, it can’t be click after close the menu. Can anyone help me with this?
You’ve set that up incorrectly. You register for context menu when you set the adapter, not in a button click.
It should look like this:
Then you have your
onCreateContextMenuandonContextItemSelectedmethods (I create mine programatically, but your inflated one woudl work just as well):You don’t need to use
onItemClickunless you want to do something on a short press of the item (context menu is long press).