2012-04-02 8 views
6

Es gibt eine erste Aktivität, bei der Benutzer ihre Details speichern. Nach einem Klick auf den Speichern-Button erscheint ein Alertdialog, der nach OK fragt oder abbricht. Wenn der Benutzer auf OK klickt, wird eine neue Aktivität gestartet.So starten Sie eine neue Aktivitätsklasse im AlertDialog-Popup durch Auswahl der OK-Schaltfläche

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; 
    } 

Antwort

-1

Diese

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

Sie können "Dies" nicht einfach verwenden, wenn Sie die Absicht über die AlertDialog-Schnittstelle erstellen. – VarnerBeast14

0

den Trick tun sollten Sie dies,

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

Gebrauch schreiben kann etwas im OK oder Abbrechen klicken wie unten dafür.

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(); 
+0

http://stackoverflow.com/questions/9974564/how-to-start-a-new-activity-class-in-alertdialog-popup-by-choosing-ok-button Nicht funktioniert, ich versuche es bereits. –

+0

Überprüfen Sie meine Antwort jetzt, ich wurde hinzugefügt builder.show(); Im Code läuft es jetzt. –

+0

http://stackoverflow.com/questions/9974564/how-to-start-a-new-activity-class-in-alertdialog-popup-by-choosing-ok-button das ist der Catlogerror E/AndroidRuntime (29931) : java.lang.RuntimeException: Die Aktivität kann nicht gestartet werden ComponentInfo {mks.gks.sks/mks.gks.sks.CheckPatient}: java.lang.IllegalArgumentException: Der Bindwert bei Index 1 ist null –

0

Sie diesen Code

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

in Ihrem Code ändern:

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

zu

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

oder

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

http://StackOverflow.com/Questions/9974564/How-to-start-a-new-activity -class-in-alertdialog-popup-durch-wählen-ok-button funktioniert nicht mit AndroidRuntime (19707): java.lang.RuntimeException: Aktivität kann nicht gestartet werden ComponentInfo {mks.gks.sks/mks.gks.sks.CheckPatient} : java.lang.IllegalArgumentException: Der Bindungswert bei Index 1 ist null –

+0

können Sie Post mit CheckPatient-Code bearbeiten. –

+0

bez Sie haben einen Fehler in CheckPatient Aktivität nicht im Dialogfeld –

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(); 

Verwenden obigen Code :::

2

Ich weiß, es ist zu spät, aber ich möchte dies zu beantworten, für andere Menschen zu helfen, das funktioniert für mich:

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

Kontext der Kontext des aktuellen activiy ist.

+0

Danke @Valentina_Siii Es funktioniert für mich –

Verwandte Themen