2012-04-02 18 views
6

Hay una primera actividad donde los usuarios guardan sus detalles. después de hacer clic en el botón Guardar, aparece un diálogo de Alert preguntando sobre aceptar o cancelar. si el usuario hace clic en Aceptar, se inicia una nueva actividad.Cómo iniciar una nueva clase de actividad en la ventana emergente AlertDialog seleccionando el botón Aceptar

protected final Dialog onCreateDialog(final int id) { 
    Dialog dialog = null; 
    switch(id) { 
    case DIALOG_ID: 
     AlertDialog.Builder builder = new AlertDialog.Builder(AppointInformation.this); 
     builder.setMessage("Information saved successfully ! Add Another Info?") 
     .setCancelable(false) 
     .setPositiveButton("No", new DialogInterface.OnClickListener() { 
public void onClick(DialogInterface dialog, int id) { 

startActivity(new Intent(((Dialog)dialog).getContext(),CheckPatient.class));  
      } 
     }) 
     .setNegativeButton("Yes", new DialogInterface.OnClickListener() { 
      public void onClick(DialogInterface dialog, int id) { 
       dialog.cancel(); 
      } 
     }); 
     AlertDialog alert = builder.create(); 
     dialog = alert; 
     break; 

    default: 

    } 
    return dialog; 
    } 

Respuesta

-1

Esto debería hacer el truco

Intent intent = new Intent(this, NewActivity.class); 
startActivity(intent); 
+0

No puede simplemente usar 'esto' al crear la intención desde dentro de la interfaz AlertDialog. – VarnerBeast14

0

En el bien o el botón Cancelar clic se puede escribir esto,

Intent intent = new Intent(this, NewActivity.class); 
startActivity(intent); 
0

uso este código

AlertDialog.Builder builder = new AlertDialog.Builder(this); 
builder.setMessage("Are you sure you want to exit?") 
    .setCancelable(false) 
    .setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      Intent intent = new Intent(PresentActivity.this, NextActivity.class); 
      startActivity(intent); 
     } 
    }) 
    .setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface dialog, int id) { 
      dialog.cancel(); 
     } 
    }); 
builder.show(); 
+0

http://stackoverflow.com/questions/9974564/how-to-start-a-new-activity-class-in-alertdialog-popup-by-choosing-ok-button No funciona, ya lo intento. –

+0

verifique mi respuesta ahora, me agregaron builder.show(); en el código está funcionando ahora. –

+0

http://stackoverflow.com/questions/9974564/how-to-start-a-new-activity-class-in-alertdialog-popup-by-choosing-ok-button este es el catlogerror E/AndroidRuntime (29931) : java.lang.RuntimeException: no se puede iniciar la actividad ComponentInfo {mks.gks.sks/mks.gks.sks.CheckPatient}: java.lang.IllegalArgumentException: el valor de vinculación en el índice 1 es nulo –

0

Hacer algo como abajo para esto.

AlertDialog.Builder myAlertDialog = new AlertDialog.Builder(AndroidAlertDialog.this); myAlertDialog.setTitle("--- Title ---"); 
     myAlertDialog.setMessage("Alert Dialog Message"); 
     myAlertDialog.setPositiveButton("OK", new DialogInterface.OnClickListener() { 
     public void onClick(DialogInterface arg0, int arg1) { 
     Intent intent = new Intent(this, NextActivity.class); 
     startActivity(intent); 
    }}); 

     myAlertDialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() { 
       public void onClick(DialogInterface arg0, int arg1) { 

     // do something when the Cancel button is clicked 
     }}); 

     myAlertDialog.show(); 
1

en su cambio de código:

startActivity(new Intent(((Dialog)dialog).getContext(),CheckPatient.class)); 

a

startActivity(new Intent(getBaseContext(),CheckPatient.class)); 

o

startActivity(new Intent(Activityname.this,CheckPatient.class)); 
+0

http://stackoverflow.com/questions/9974564/how-to-start-a-new-activity -class-in-alertdialog-popup-by-choosing-ok-button no funciona mostrando AndroidRuntime (19707): java.lang.RuntimeException: no se puede iniciar la actividad ComponentInfo {mks.gks.sks/mks.gks.ks.CheckPatient} : java.lang.IllegalArgumentException: el valor de vinculación en el índice 1 es nulo –

+0

puede editar la publicación con el código de CheckPatient. –

+0

bez tiene un error en CheckPatient Activity no en el cuadro de diálogo –

0
AlertDialog.Builder alert = new AlertDialog.Builder(getApplicationContext()); 
    alert.setTitle(title); 
    alert.setCancelable(false); 
    alert.setMessage(message); 
    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() { 
     @Override 
     public void onClick(DialogInterface dialog, int which) { 
      // TODO Auto-generated method stub 
      startActivity(new Intent(YourActivity.this, NewActivity.class)); 
     } 
    }); 
    alert.show(); 

uso por encima de código :::

2

Sé que es demasiado tarde, pero quiero responder a esto para ayudar a otras personas, esto funciona para mí:

Intent intent = new Intent(getContext(),OtherActivity.class); 
       context.startActivity(intent); 

contexto es el contexto de la activiy actual.

+0

Gracias @Valentina_Siii Funciona para mí –

Cuestiones relacionadas