Cómo descartar AlertDialog en android

He creado AlertDialog que contiene 4 botones

OptionDialog = new AlertDialog.Builder(this); OptionDialog.setTitle("Options"); LayoutInflater li = (LayoutInflater) this.getSystemService(Context.LAYOUT_INFLATER_SERVICE); View v = li.inflate(R.layout.options, null, false); background = (Button) v.findViewById(R.id.bkgSpinnerLabel); SoundVib = (Button) v.findViewById(R.id.SoundVibSpinnerLabel); OptionDialog.setView(v); OptionDialog.setCancelable(true); OptionDialog.setNeutralButton("Ok", new DialogInterface.OnClickListener() { public void onClick(DialogInterface arg0, int arg1) { } }); background.setOnClickListener(new OnClickListener() { public void onClick(View v) { SetBackground(); // here I want to dismiss it after SetBackground() method } }); SoundVib.setOnClickListener(new OnClickListener() { public void onClick(View v) { Intent soundVibIntent = new Intent(SebhaActivity.this, EditPreferences.class); startActivity(soundVibIntent); } }); OptionDialog.show(); 

Quiero descartarlo después de SetBackground () método, ¿cómo puedo hacer esto? gracias por adelantado.

En realidad no hay ningún método cancel() o dismiss dismiss() de la clase AlertDialog.Builder.

Así que en lugar de AlertDialog.Builder OptionDialog utilizar AlertDialog instancia.

Me gusta,

 AlertDialog OptionDialog = new AlertDialog.Builder(this).create(); 

Ahora, simplemente llame a OptionDialog.dismiss();

 background.setOnClickListener(new OnClickListener() { public void onClick(View v) { SetBackground(); // here I want to dismiss it after SetBackground() method OptionDialog.dismiss(); } }); 

Creo que hay una solución más simple: Simplemente utilice el argumento DialogInterface que se pasa al método onClick .

 AlertDialog.Builder db = new AlertDialog.Builder(context); db.setNegativeButton("cancel", new DialogInterface.OnClickListener(){ @Override public void onClick(DialogInterface d, int arg1) { d.cancel(); }; }); 

Véase, por ejemplo, http://www.mkyong.com/android/android-alert-dialog-example .

Prueba esto:

  AlertDialog.Builder builder = new AlertDialog.Builder(this); AlertDialog OptionDialog = builder.create(); background.setOnClickListener(new OnClickListener() { public void onClick(View v) { SetBackground(); OptionDialog .dismiss(); } }); 

Hay dos formas de cerrar un cuadro de diálogo de alerta.

Opción 1:

AlertDialog#create().dismiss();

Opcion 2:

The DialogInterface#dismiss();

Fuera de la caja, el marco llama DialogInterface#dismiss(); Cuando defina los detectores de eventos para los botones:

  1. AlertDialog#setNegativeButton();
  2. AlertDialog#setPositiveButton();
  3. AlertDialog#setNeutralButton();

Para el cuadro de diálogo Alerta.

Sólo prueba esto –

 OptionDialog.create().dismiss(); 

Espero que esto solucione su problema.

Aquí es cómo cierro mi alertaDialog

 lv_three.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() { @Override public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) { GetTalebeDataUser clickedObj = (GetTalebeDataUser) parent.getItemAtPosition(position); alertDialog.setTitle(clickedObj.getAd()); alertDialog.setMessage("Öğrenci Bilgileri Güncelle?"); alertDialog.setIcon(R.drawable.ic_info); // Setting Positive "Yes" Button alertDialog.setPositiveButton("Tamam", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { // User pressed YES button. Write Logic Here } }); alertDialog.setNegativeButton("İptal", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { //alertDialog. alertDialog.setCancelable(true); // HERE } }); alertDialog.show(); return true; } }); 

Simplemente establezca la vista como null que cerrará el AlertDialog simple.

  • ClassCastException: android.support.v7.widget.LinearLayoutCompat $ LayoutParams no se puede convertir en android.widget.LinearLayout $ LayoutParams
  • Android crea dos cuadros de diálogo en una actividad
  • Cambiar el color de acento de appcomprar alertdialog hecho todos los diálogos más pequeños
  • Hacer transparente el diálogo del diálogo de alerta
  • Obtener 'No se puede resolver el método' addOnCompletionListener () '...' al intentar colocar algún código dentro del método onClick () de builder.setPositiveButton
  • ¿Cómo obtener el tema de diálogo de alerta de sándwich de helado android?
  • Cómo eliminar el diálogo Alert Barra de título
  • Cómo cambiar el fondo del título de diálogo de alerta de Android
  • AlertDialog dentro de onClickListener
  • OnCancelListener no se llama en DialogFragment
  • Cómo cambiar el color del botón Positivo y negativo en el cuadro de diálogo Alerta personalizada en android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.