JadLu:
I migraram meu projeto para androidX, e eu quero implementar um diálogo de alerta com feedback positivo e negativo do usuário.
Estou usando este código:
AlertDialog.Builder builder1 = new AlertDialog.Builder(getApplicationContext());
builder1.setMessage("Write your message here.");
builder1.setCancelable(true);
builder1.setPositiveButton(
"Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
Log.d("MSG", "onClick: YES");
}
});
builder1.setNegativeButton(
"No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
Log.d("MSG", "onClick: No");
}
});
AlertDialog alert11 = builder1.create();
alert11.show();
Mas eu recebo este erro ao executar o app:
java.lang.IllegalStateException: Você precisa usar um tema Theme.AppCompat (ou descendente) com esta atividade.
Gabriele Mariotti:
Você pode usar o MaterialAlertDialogBuilder
fornecido pela biblioteca de componentes materiais .
Apenas use:
new MaterialAlertDialogBuilder(MainActivity.this,
.setTitle("Dialog")
.setMessage("Write your message here. ....")
.setPositiveButton("Ok", /* listener = */ null)
.setNegativeButton("Cancel", /* listener = */ null)
.show();
O MaterialAlertDialogBuilder
requer um tema Material e irá resultar em um androidx.appcompat.app.AlertDialog
.