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


Cómo DialogFragment afecta el ciclo de vida de la actividad de llamada

Si lanzo un DialogFragment de una actividad, ¿qué sucede cuando cierro el DialogFragment? ¿Pasa la actividad a través del estado Resume? ¿O es la llamada como cualquier llamada java normal para que la siguiente línea nunca se ejecute hasta que se cierre el DialogFragment?

Supongamos que el método para lanzar mi fragmento es

private void launchFragment(){ ConfirmationDialog confirm = new ConfirmationDialog(); confirm.show(getSupportFragmentManager(), "confirm"); doMoreStuff(); } 

Así que mi pregunta es doble:

  1. ¿Cuándo se doMoreStuff() ? ¿Antes o después de cerrar el fragmento para volver a la actividad principal?
  2. Después de cerrar el fragmento para volver a la actividad principal, ¿pasa la actividad de los padres a través deResume: para que si tengo un cheque para algún campo cambiado por el fragmento, puedo trabajar en onResume en función del estado de ese campo:

Como en el siguiente ejemplo:

 @Override public void onResume() { super.onResume(); if(dialogFragmentChangedThis){ workSomeMore(); } } 

El fragmento se lanza con

 setStyle(STYLE_NO_FRAME, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen); 

De modo que esté en modo de pantalla completa.

  • ¿Cómo descartar el diálogo con un clic fuera del diálogo?
  • Iniciar el bloqueo de diálogos en servicio
  • Cambiar el color del botón en AlertDialog
  • Cómo obtener la alerta predeterminada Dialog en android tiene un tema negro
  • Evitar que DialogFragment se rechace cuando se hace clic en el botón
  • Tostas versus cuadros de diálogo: ¿cuál usar cuando?
  • Toque fuera del cuadro de diálogo de Android para descartarlo?
  • Cambio de tema de diálogo para cada cuadro de diálogo
  • One Solution collect form web for “Cómo DialogFragment afecta el ciclo de vida de la actividad de llamada”

    ¿Cuándo se llama doMoreStuff ()? ¿Antes o después de cerrar el fragmento para volver a la actividad principal?

    DialogFragment show() DialogFragment solo compromete una FragmentTransaction , que se ejecutará de forma asíncrona, por lo que cualquier método que lo siga será ejecutado inmediatamente.

    Después de cerrar el fragmento para volver a la actividad principal, ¿pasa la actividad principal a través de Resume

    No, no, ya que su Activity está en primer plano todo el tiempo, ya que no hay otras Activities involucradas.

    Por lo general, usará los oyentes de Callbacks con DialogFragment como lo hace con Fragment simples, implementando las devoluciones de llamada en su Activity y llamando al método de su Activity través de esa interfaz cuando desee pasar un resultado de una acción que ocurrió en El DialogFragment .

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