programacion - tipos de dialogos en android studio
cómo agregar un cuadro de mensaje con el botón Aceptar (4)
Creo que puede haber un problema que no haya agregado el oyente de clic para el botón de Aceptar.
dlgAlert.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
//dismiss the dialog
}
});
Quiero mostrar un cuadro de mensaje con un botón Aceptar. Usé el siguiente código pero se produce un error de compilación con argumento:
AlertDialog.Builder dlgAlert = new AlertDialog.Builder(this);
dlgAlert.setMessage("This is an alert with no consequence");
dlgAlert.setTitle("App Title");
dlgAlert.setPositiveButton("OK", null);
dlgAlert.setCancelable(true);
dlgAlert.create().show();
¿Cómo debo mostrar un cuadro de mensaje en Android?
Dado que en su situación solo desea notificar al usuario con un mensaje breve y simple, un Toast
mejoraría la experiencia del usuario.
Toast.makeText(getApplicationContext(), "Data saved", Toast.LENGTH_LONG).show();
Si tiene un mensaje más extenso y desea darle tiempo al lector para leer y comprender, entonces debe usar un DialogFragment
. (La documentation actualmente recomienda AlertDialog
su AlertDialog
en un fragmento en lugar de llamarlo directamente).
Cree una clase que amplíe DialogFragment
:
public class MyDialogFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// Use the Builder class for convenient dialog construction
AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
builder.setTitle("App Title");
builder.setMessage("This is an alert with no consequence");
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
// You don''t have to do anything here if you just
// want it dismissed when clicked
}
});
// Create the AlertDialog object and return it
return builder.create();
}
}
Luego llámalo cuando lo necesites en tu actividad:
DialogFragment dialog = new MyDialogFragment();
dialog.show(getSupportFragmentManager(), "MyDialogFragmentTag");
Ver también
El código compila bien para mí. Puede ser que haya olvidado agregar la importación:
import android.app.AlertDialog;
De todos modos, tienes un buen tutorial here .
@Override
protected Dialog onCreateDialog(int id)
{
switch(id)
{
case 0:
{
return new AlertDialog.Builder(this)
.setMessage("text here")
.setPositiveButton("OK", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface arg0, int arg1)
{
try
{
}//end try
catch(Exception e)
{
Toast.makeText(getBaseContext(), "", Toast.LENGTH_LONG).show();
}//end catch
}//end onClick()
}).create();
}//end case
}//end switch
return null;
}//end onCreateDialog