Estaba usando un elemento de menú y el oyente de eventos de clic de los elementos del menú no funciona, aquí está el código que usé

Public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main_menu,menu);
    return super.onCreateOptionsMenu(menu);
}

public boolean onOptionItemSelected(MenuItem item){
    switch(item.getItemId(){
        case R.id.menu_id:
            Log.d("Menu","menu clicked")
    }
}

Este es el código, pero el método onOptionItemSelected no se está ejecutando y cuando pasa el mouse sobre él dice que el método nunca se usa ... ¿qué estoy haciendo mal y cómo puedo resolverlo?

-1
surafel 9 dic. 2016 a las 13:42
El nombre del método es incorrecto. Marque la respuesta a continuación ... es onOptionsItemSelected(MenuItem item)
 – 
ELITE
9 dic. 2016 a las 13:46

1 respuesta

La mejor respuesta

El nombre del método es incorrecto en su código.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    // your code goes here
}

Este es el método para anular.

Espero que ayude.

2
ELITE 9 dic. 2016 a las 13:48
2
Además, el uso de @Override permitirá que IDE le señale problemas como este.
 – 
John O'Reilly
9 dic. 2016 a las 13:47
Sí @ John. Utilice @Override para saber si el método existe en la superclase.
 – 
ELITE
9 dic. 2016 a las 13:49
Perdón por el tipo de error, pero en mi código está en la ortografía correcta
 – 
surafel
9 dic. 2016 a las 13:59
Si el método está en la ortografía correcta, entonces su IDE nunca le informará sobre method is never used. Intente agregar la anotación @Override al método
 – 
ELITE
9 dic. 2016 a las 14:56