Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Mostrar cuadros de diálogo de mensajes sencillos

En mi actividad, me gustaría mostrar diálogos de información sencillos, cosas como:

new AlertDialog.Builder(context).setMessage(message).show(); 

Si lo hago, el diálogo se fugará cuando giro ese teléfono (por no mencionar que desaparecerá también, por lo que el usuario puede perderlo). Puedo utilizar los cuadros de diálogo gestionados, pero no estoy seguro de cómo utilizarlo con sensatez para este tipo de mensajes cortos? Parece que tienes que hacer esto:

 showDialog(SOME_DLG_ID); ... @Override onCreateDialog(int id) { if (id == SOME_DLG_ID) { new AlertDialog.Builder(context).setMessage(message).show(); } } 

No hay manera de pasar lo que el mensaje debe estar en onCreateDialog desde su un método de anulación. Odiaría hacer una variable miembro de la actividad de los padres que sólo almacena lo que el mensaje actual debe ser. ¿Cómo lo hacen todos?

Gracias

  • ¿Cómo mostrar una ruta entre dos geocoords en google maps?
  • Cómo repetir la notificación diaria en el tiempo específico en androide a través del servicio de fondo
  • ¿Impedir que las funciones sean eliminadas de una biblioteca estática cuando están enlazadas en una biblioteca compartida?
  • Uso de SurfaceTexture en Android
  • ¿Cómo realizar el recorte automático para el documento Reconocer la imagen con la cámara?
  • El uso de ProGuard causa NoSuchFieldError para ACRA
  • Mostrar marcador dentro de un recurso dibujable que obtenido de url
  • Cómo utilizar TabHost.OnTabChangeListener en android?
  • 3 Solutions collect form web for “Mostrar cuadros de diálogo de mensajes sencillos”

    Si lo hago, el diálogo se fugará cuando giro ese teléfono (por no mencionar que va a desaparecer también, por lo que el usuario puede perderlo)

    Puedes añadir

     <activity android:configChanges="orientation|keyboardHidden" > 

    A su AndroidManifest.xml para evitar reiniciar la actividad cuando el teléfono gira. Lo estoy usando en mi aplicación y mi AlertDialog sobrevive a la rotación del teléfono.

    Puede implementar Activity.onPrepareDialog(int, Dialog) para cambiar el mensaje antes de que se muestre el diálogo en la pantalla. Así que podría hacer algo como:

     @Override protected void onPrepareDialog(int id, Dialog dialog) { if (id == SOME_DLG_ID) { ((AlertDialog) dialog).setMessage(message); } } 

    Aún tendrías que realizar un seguimiento del mensaje que estás mostrando en tu actividad, pero al menos así, no crearás un objeto de diálogo para cada mensaje que quieras mostrar.

    El uso de DialogFragment para administrar el diálogo asegura que maneje correctamente los eventos del ciclo de vida, como cuando el usuario gira la pantalla o presiona el botón Atrás.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.