jueves, 10 de febrero de 2011

Android - Como crear menús contextuales

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");
}

Si disponemos en nuestra aplicación de una ListView lo ejecutaremos de la siguiente forma.

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();
    if (item.getTitle() == "Add to favorites") {
        // Acciones a ejecutar
    }else if (item.getTitle() == "See details") {
        // mas instrucciones
    } else {
    return false;}
return true;}