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.
- ¿Por qué setCanceledOnTouchOutside (false) no funciona en Alert Builder?
- ¿Cómo mostrar el texto con formato Html en el cuadro PopUp con el constructor de diálogo de alerta?
- Cómo abrir la ventana emergente en EditText prensa larga en el estudio de Android
- Cómo mostrar MessageBox en Monodroid
- Incorporar RatingBar en AlertDialog
- Recursos $ NotFoundException: Resource ID # 0x0 en AlertDialog
- Eliminar título de DatePickerDialog
- ActionBarSherlock no admite cuadros de diálogo de alerta de luz-tema?
- ¿Qué método se desencadena en la creación de AlertDialog?
- Eliminar fondo negro en el diálogo personalizado
- El fragmento de diálogo sí / no más simple
- Mostrando múltiples AlertDialogs
- ¿Cómo puedo establecer el orden de los botones positivo y negativo en AlertDialog?
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:
-
AlertDialog#setNegativeButton();
-
AlertDialog#setPositiveButton();
-
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.
- Calcular el tamaño de una vista de lista o cómo decirle que se expanda completamente
- Error de autorización de GCM http 401