Ich möchte ein Dialog-/Popup-Fenster mit einer Meldung für den Benutzer anzeigen, die besagt: “Möchten Sie diesen Eintrag wirklich löschen?” mit einer Schaltfläche, die ‘Löschen’ sagt. Wann Delete
berührt wird, sollte dieser Eintrag gelöscht werden, sonst nichts.
Ich habe einen Klick-Listener für diese Schaltflächen geschrieben, aber wie rufe ich einen Dialog oder ein Popup und seine Funktionalität auf?
Versuchen Sie diesen Code:
AlertDialog.Builder builder1 = new AlertDialog.Builder(context);
builder1.setMessage("Write your message here.");
builder1.setCancelable(true);
builder1.setPositiveButton(
"Yes",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
builder1.setNegativeButton(
"No",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int id) {
dialog.cancel();
}
});
AlertDialog alert11 = builder1.create();
alert11.show();
Verwenden AlertDialog.Builder :
AlertDialog alertDialog = new AlertDialog.Builder(this)
//set icon
.setIcon(android.R.drawable.ic_dialog_alert)
//set title
.setTitle("Are you sure to Exit")
//set message
.setMessage("Exiting will call finish() method")
//set positive button
.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//set what would happen when positive button is clicked
finish();
}
})
//set negative button
.setNegativeButton("No", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
//set what should happen when negative button is clicked
Toast.makeText(getApplicationContext(),"Nothing Happened",Toast.LENGTH_LONG).show();
}
})
.show();
Sie erhalten die folgende Ausgabe.

Verwenden Sie den folgenden Link, um das Tutorial für Warndialoge anzuzeigen.
Anleitung zum Android-Alarmdialog
Nur eine einfache! Erstellen Sie irgendwo in Ihrer Java-Klasse eine Dialogmethode, etwa so:
public void openDialog() {
final Dialog dialog = new Dialog(context); // Context, this, etc.
dialog.setContentView(R.layout.dialog_demo);
dialog.setTitle(R.string.dialog_title);
dialog.show();
}
Erstellen Sie nun Layout-XML dialog_demo.xml
und erstellen Sie Ihr UI/Design. Hier ist ein Beispiel, das ich zu Demozwecken erstellt habe:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/dialog_info"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:text="@string/dialog_text"/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:layout_below="@id/dialog_info">
<Button
android:id="@+id/dialog_cancel"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.50"
android:background="@color/dialog_cancel_bgcolor"
android:text="Cancel"/>
<Button
android:id="@+id/dialog_ok"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="0.50"
android:background="@color/dialog_ok_bgcolor"
android:text="Agree"/>
</LinearLayout>
</RelativeLayout>
Jetzt können Sie anrufen openDialog()
von überall her 🙂 Hier ist der Screenshot des obigen Codes.

Beachten Sie, dass Text und Farbe von verwendet werden strings.xml
und colors.xml
. Sie können Ihre eigenen definieren.
Heutzutage ist es besser, DialogFragment anstelle der direkten AlertDialog-Erstellung zu verwenden.
- Wie? Siehe: https://stackoverflow.com/a/21032871/1390874
- Warum? Siehe: https://stackoverflow.com/a/13765411/1390874
9635300cookie-checkWie zeige ich einen Warndialog auf Android an?yes
Hier sind Sie ja : developer.android.com/guide/topics/ui/dialogs.html
– Michael Polla
25. Juli 2016 um 14:43 Uhr
Warum verwenden Sie nicht die Materialdialogbibliothek!?
– Vivek_Neel
28. Juli 2016 um 18:04 Uhr
Beispiele für Warnungen mit einer, zwei und drei Tasten finden Sie in dieser Antwort.
– Suragch
20. April 2017 um 12:21 Uhr
Mögliches Duplikat von How to Implement a Confirmation (Yes/No) DialogPreference?
– Alwin Kesler
12. März 2018 um 5:26 Uhr