2011-01-10 2 views
1

Ich baue eine Android App mit einer Anmeldeaktivität. Wenn die Anmeldung erfolgreich ist, möchte ich eine Warnmeldung mit einer Erfolgsmeldung anzeigen und zur übergeordneten Aktivität zurückkehren. Das Problem ist, dass die Warnmeldung nur für eine kurze Zeit angezeigt wird und dann gehe ich sofort zur übergeordneten Aktivität zurück, ohne einen Knopf in der Alarmbox zu drücken. mein Code:Alarmdialog wird geschlossen, ohne die Taste zu drücken

case RESPONSE_USER_SIGNUP_SUCCESS:    
      showAlertBoxSignupSuccess(); 
      Intent returnIntent = new Intent(); 
      returnIntent.putExtra("email", email); 
      setResult(RESULT_OK, returnIntent);   
      this.finish(); 
      break; 

private void showAlertBoxSignupSuccess() 
{ 
    AlertDialog.Builder alertbox = new AlertDialog.Builder(this); 
    alertbox.setTitle("The account was successfuly created"); 
    alertbox.setNegativeButton("OK", new DialogInterface.OnClickListener() { 

     public void onClick(DialogInterface arg0, int arg1) 
     { 
      arg0.dismiss(); 
     } 
    }); 
    alertbox.show(); 


} 

Meine Frage ist, wie kann ich es warten, bis die der Benutzer den Knopf in der Alertbox klickt und dann auf die übergeordnete Aktivität gehen?

Vielen Dank !!

Antwort

5

Wenn Sie warten wollen, bis der Benutzer die OK-Taste drückt die aktuelle Aktivität zu verlassen, sollten Sie den Code unter showAlertBoxSignupSuccess(); in der Schaltfläche onClick Hörer bewegen:

public void onClick(DialogInterface arg0, int arg1) 
    { 
     arg0.dismiss(); 
     Intent returnIntent = new Intent(); 
     returnIntent.putExtra("email", email); 
     setResult(RESULT_OK, returnIntent);   
     this.finish(); 
    } 
+0

Dank! Es funktioniert jetzt. –

+1

@Sharon Haim Wenn ein Benutzer Ihre Frage beantwortet und Ihr Problem gelöst hat, sollten Sie die Antwort akzeptieren, indem Sie auf das Häkchen unterhalb der Abstimmungswerte klicken. Durch die Annahme von Antworten können andere Benutzer Ihnen in Zukunft noch besser helfen. –