Pregunta ¿Qué se debe devolver, verdadero o falso para onOptionsItemSelected ()?


Estaba aprendiendo el menú Inflado y el tutorial que estoy siguiendo dice que debemos devolver falso en esta función. Sin embargo, cuando regreso cierto, no noté ningún cambio o diferencia. Así que la pregunta es:

  • ¿Qué debo devolver y por qué?

Gracias


5
2017-08-12 10:17


origen


Respuestas:


Si desea que se realice el procesamiento normal, devuelva falso. De lo contrario, devuelve verdadero.

Ver Documentación.

De manera predeterminada, cuando devuelve falso, Android llama al Runnable asociado con el elemento o ejecuta el Intent que puede configurar usando setIntent(...) en el MenuItem. Si no quieres que esto suceda, deberías volver verdadero.

Supongamos que crea el MenuItem de la siguiente manera.

MenuItem menu1 = new MenuItem(this);
menu1.setIntent(myIntent);

aquí myIntent es lo que desea hacer cuando se hace clic en el elemento del menú. Por ejemplo: diga que su elemento del menú lanza la aplicación GMail para enviar un correo electrónico, con el texto en una vista de texto de su actividad.

En tus onOptionsItemSelected() devolución de llamada, puede verificar el valor de la vista de texto y devolver falso si la vista de texto no está vacía (tiene algo en el cuadro de texto, puede disparar el Intent a GMail) de lo contrario, mostrar un cuadro de mensaje que dice "Escriba primero un mensaje" y devuelva verdadero, para que Android no active el Intento.

public boolean onOptionsItemSelected (MenuItem item) {
    if (textView.getText().trim().equals("")){
        // show the message dialog
        return true;
    }
    else {
        // we have some message. We can let android know that
        // it is safe to fire the intent.
        return false;
    }
}

Espero que esto ayude... Feliz Codificación.


12
2017-08-12 10:33



si manejas el evento return true, de lo contrario devuelve false


3
2017-08-12 10:29



Preguntas populares