Quiero saber si cuando el usuario presiona el botón «Sí» en un diálogo de alerta y este uno es despedido, que el evento se ejecuta el método onResume de la actividad en la que el usuario está en.

Porque tengo un botón de «Limpieza» que le pregunta al usuario si realmente seguro de la limpieza de todos los campos de la forma (de la actividad) con el fin de dibujar la actividad con los campos vacíos.. El formulario se crea de forma dinámica, así que no sé a priori los elementos en la interfaz de usuario para establecer vacías…

Lo siento por mi mal inglés!!

Gracias y Saludos!

si desea detectar cuando el usuario hizo algo que usted puede utilizar booleano que será falsa en inicio y verdadero en positivo clic de botón?

OriginalEl autor alois.wirkes | 2013-04-11

4 Comentarios

  1. 16

    No estoy seguro si este es el enfoque que debe ser tomado, pero usted debería ser capaz de hacer lo que creo que usted está solicitando. Si por alguna razón esto es lo que se quiere lograr.

    AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setMessage("Do you want to clean?")
          .setPositiveButton("Yes", new DialogInterface.OnClickListener()
          {
            public void onClick(DialogInterface dialog, int id)
            {
              dialog.dismiss();
              ((ActivityName) appContext).onResume();
            }
          })
          .setNegativeButton("No", new DialogInterface.OnClickListener()
          {
            public void onClick(DialogInterface dialog, int id)
            {
              dialog.dismiss();
            }
          });
        builder.create().show();
    }

    Usted realmente desea estar llamando a su función de limpieza lugar de cualquier cosa como un ciclo de vida de llamada en caso de éxito, mientras que no hacer nada en un error.

    Otra forma potencial de este enfoque sería que la actual actividad de vuelta a la parte delantera el uso de banderas.

    Intent intent = new Intent(this, CurrentlyRunningActivity.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
    startActivity(intent);

    Que también proporcionan una forma de llamar a su actividad principal sin hacer referencia a la onResume (), como se ha señalado no es el enfoque adecuado; sin embargo, quería responder directamente a la pregunta que se le pidió.

    llamar onResume manualmente es absolutamente ninguna manera

    OriginalEl autor Jay Snayder

  2. 1

    A ver si se llama a un método, usted puede poner un punto de interrupción en el método, onResume(), a ver qué pasa. Si usted no está familiarizado con el Acitvity ciclo de vida, a continuación, hacer esto le ayudará a familiarizarse con ella y la lectura de la documentación suministrada.

    Ahora, no creo que usted debe redibujar toda su layout sólo para aclarar algunas Views. Sería más eficiente, en mi opinión, a sólo restablecer todos los campos mediante el uso de setText() u otro método para todo lo que necesites cuando el usuario hace clic en «aceptar» o lo que sea. Usted puede utilizar invalidate() si usted necesita para volver a dibujar ciertas Views

    También recomiendo ver

    Google I/O-Carga de Turbo de la interfaz de usuario

    La Actividad Del Ciclo De Vida De <– muy importante entender

    OriginalEl autor codeMagic

  3. 0

    AFAIK Esto no es posible ya que en el fin de mostrar el cuadro de diálogo de la actividad ya habría pasado el onResume estado. Echa un vistazo a la siguiente página para más información sobre el ciclo de vida de una aplicación de Android (lo que realmente me ayudó a entender mejor):

    Aplicación del ciclo de vida de

    Entonces, lo que estamos diciendo es que cuando la alerta es en la pantalla, no causa la actividad en segundo plano? todavía está en primer plano?
    Esa es una buena pregunta que estoy seguro de. Sin embargo creo que debería echar un vistazo a codeMagic la respuesta. Usted probablemente no debería redibujar diseños para borrar cosas, pero debe utilizar el setText(). Sólo tiene el botón sí del cuadro de diálogo llamar a un método que hace la limpieza que usted desea.

    OriginalEl autor TronicZomB

  4. 0

    Si no estás seguro de que cuando el onResume se llama, agregar un registro en el método onResume.

    OriginalEl autor L. G.

Dejar respuesta

Please enter your comment!
Please enter your name here