Debemos implementar dos métodos. El primero de todos es crear un menú contextual, de la siguiente forma.
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Choose an option");
menu.add(0, v.getId(), 0, "Add to favorites");
menu.add(0, v.getId(), 0, "See details");
}
registerForContextMenu(myListView);
Por ultimo tenemos que implementar la acción que se ejecutará al seleccionar cada una de las opciones.
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info =(AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) {
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Choose an option");
menu.add(0, v.getId(), 0, "Add to favorites");
menu.add(0, v.getId(), 0, "See details");
}
Si disponemos en nuestra aplicación de una ListView lo ejecutaremos de la siguiente forma.
public boolean onContextItemSelected(MenuItem item) {
AdapterView.AdapterContextMenuInfo info =(AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
if (item.getTitle() == "Add to favorites") {
// Acciones a ejecutar
// Acciones a ejecutar
}else if (item.getTitle() == "See details") {
// mas instrucciones
} else {
return false;}
return false;}
return true;}
Muchas gracias :D!
ResponderEliminar