Android Messagebox

Android El cuadro de mensaje no se muestra debido a la llamada final , cómo hacer que esta función espere a ok y luego cierre

public void msbox(String str,String str2) { AlertDialog.Builder dlgAlert = new AlertDialog.Builder(this); dlgAlert.setMessage(str2); dlgAlert.setTitle(str); dlgAlert.setPositiveButton("OK", null); dlgAlert.setCancelable(true); dlgAlert.create().show(); finish(); } 

Debería ser así

 public void msbox(String str,String str2) { AlertDialog.Builder dlgAlert = new AlertDialog.Builder(this); dlgAlert.setTitle(str); dlgAlert.setMessage(str2); dlgAlert.setPositiveButton("OK",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { finish(); } }); dlgAlert.setCancelable(true); dlgAlert.create().show(); } 

Vea la pregunta SO: AlertDialog no espera la entrada

Tendrá que implementar la devolución de llamada (OnClickListener) cuando el usuario hace clic en Aceptar en AlertDialog.

Todo esto porque los cuadros de diálogo de Android no son modales (hilo no invocador de bloqueo)

 dlgAlert.setPositiveButton("OK",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int whichButton) { // call your code here } }); 

Si desea crear un cuadro de diálogo (Message Box, denominado en c #, vb.net, etc) en la programación android, simplemente copie este código y péguelo en el evento click de cualquier botón donde lo necesite.

 AlertDialog.Builder builder = new AlertDialog.Builder(this); builder .setTitle("Deleting a Contact No") .setMessage("Are you sure?") .setIcon(android.R.drawable.ic_dialog_alert) .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { //do some thing here which you need } }); builder.setNegativeButton("No", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); } }); AlertDialog alert = builder.create(); alert.show(); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.