Tutorials  /  JavaScript

Kompaktes Tutorial: Android Alert Dialogs mit Kotlin erstellen

Ccentron Redaktion · Juni 2024 ·4 Min. Lesezeit ·JavaScript, Tutorial

Entdecke in diesem praxisnahen Tutorial, wie du mithilfe von Kotlin Alert Dialogs in deiner Android-App erstellst. Von der Grundlagen bis zur Anpassung von Buttons und Styles - lerne alles Schritt für Schritt. Ein unverzichtbarer Leitfaden für Entwickler, um interaktive Benutzererfahrungen zu schaffen.

Was sind Alert Dialogs?

Ein Alert Dialog ist ein Fenster, das auf dem Bildschirm erscheint. Sie zeigen in der Regel Informationen an und fordern eine Benutzeraktion an. Ein Alert Dialog besteht aus drei Kernkomponenten:

  • Titeltext
  • Nachrichtentext
  • Buttons - Es gibt drei Arten von Buttons: Positive, Negative und Neutral

Um einen AlertDialog zu erstellen, verwenden wir die innere Klasse AlertDialog.Builder.

Code
val alertDialogBuilder = AlertDialog.Builder(this)

Wir übergeben den Kontext im Konstruktor. Optional können wir einen weiteren Parameter übergeben, den Alert-Dialog-Stil.

VM

Passende Infrastruktur bei centron

Node-Anwendungen wollen deployt werden: ccloud³ VMs mit vollem Root-Zugriff ab 3,12 € im Monat – oder gleich als Managed Server, wenn der Betrieb nicht bei Ihnen liegen soll. Cloud Server mieten →

Methoden von Alert Dialogs

Einige der Methoden, die auf einem AlertDialog verwendet werden können:

  • setTitle
  • setMessage
  • setIcon
  • setCustomTitle - Hier können Sie eine benutzerdefinierte Ansicht übergeben, die anstelle des Titels im Alert Dialog platziert wird.
  • setPositiveButton - Hier übergeben wir den String-Namen sowie die Methode für den Button-Klick-Rückruf.
  • setView - wird verwendet, um eine benutzerdefinierte Ansicht im Alert Dialog hinzuzufügen.
  • setList - wird verwendet, um ein Array von Strings festzulegen, das in Form einer Liste angezeigt wird.
  • setMultiChoiceList - erneut können wir ein Array festlegen, aber dieses Mal können wir dank CheckBox mehrere Elemente auswählen.
  • setPositiveButtonIcon - setzt ein Symbol neben dem Button.
  • show() - wird verwendet, um den AlertDialog anzuzeigen.
  • setDismissListener - Hier können Sie die Logik festlegen, die ausgelöst wird, wenn der AlertDialog verworfen wird.
  • setShowListener - legt die Logik fest, die ausgelöst wird, wenn der AlertDialog verworfen wird.
  • setCancelable - erfordert einen booleschen Wert. Standardmäßig sind alle Alert Dialogs beim Klicken auf den Button oder das Berühren außerhalb abbrechbar. Wenn diese Methode auf false gesetzt ist, müssen Sie den Dialog explizit mit der Methode dialog.cancel() abbrechen.

Kotlin-Code für Alert Dialogs

Um AlertDialog in Ihrem Android Studio-Projekt zu verwenden, importieren Sie die folgende Klasse.

Python
import android.support.v7.app.AlertDialog;

Der folgende Kotlin-Code wird verwendet, um einen einfachen Alert Dialog zu erstellen.

Code
val builder = AlertDialog.Builder(this)
builder.setTitle("Androidly Alert")
builder.setMessage("Wir haben eine Nachricht")

builder.setPositiveButton(android.R.string.yes) { dialog, which ->
    Toast.makeText(applicationContext,
            android.R.string.yes, Toast.LENGTH_SHORT).show()
}

builder.setNegativeButton(android.R.string.no) { dialog, which ->
    Toast.makeText(applicationContext,
            android.R.string.no, Toast.LENGTH_SHORT).show()
}

builder.setNeutralButton("Vielleicht") { dialog, which ->
    Toast.makeText(applicationContext,
            "Vielleicht", Toast.LENGTH_SHORT).show()
}

builder.show()

Der builder.show() zeigt den Alert Dialog auf dem Bildschirm an. Innerhalb der setPositiveButton-Funktion übergeben wir den Buttontext zusammen mit einer Kotlin-Funktion, die ausgelöst wird, wenn dieser Button geklickt wird. Die Funktion ist Teil des DialogInterface.OnClickListener()-Interfaces. Der Funktionstyp ist (DialogInterface, Int) -> Unit. DialogInterface ist eine Instanz des Dialogs und Int ist die ID des geklickten Buttons. Im obigen Code haben wir diese Funktion als Higher-Order-Kotlin-Funktion dargestellt. Das dialog und which repräsentieren die beiden Argumente. Wir können die Funktion verbessern, indem wir _ übergeben, wenn die Argumente nicht verwendet werden. Die Funktionen würden wie folgt aussehen:

Code
builder.setPositiveButton(android.R.string.yes) { _,_ ->
            Toast.makeText(applicationContext,
                    android.R.string.yes, Toast.LENGTH_SHORT).show()
        }

Alternativ können wir den Dialog auch über die Instanz der AlertDialog-Klasse anzeigen. Ersetzen Sie builder.show() durch:

Code
val alertDialog = builder.create()
alertDialog.show()

Statt die Funktionen für den Klick auf die Schaltflächen separat zu definieren, können wir auch höhere Funktionen separat definieren.

Code
val positiveButtonClick = { dialog: DialogInterface, which: Int ->
    Toast.makeText(applicationContext,
            android.R.string.no, Toast.LENGTH_SHORT).show()
}

Setzen Sie diese val-Eigenschaft jetzt in die setPositiveButton-Kotlin-Funktion wie folgt ein:

Code
builder.setPositiveButton("OK", DialogInterface.OnClickListener(function = positiveButtonClick))
//oder
builder.setPositiveButton(android.R.string.yes, positiveButtonClick)

Letzteres macht den Code viel prägnanter. Im Folgenden finden Sie einen Screenshot aus unserer Activity-Klasse mit der oben angewendeten Funktion für jede der Schaltflächen. Sie können eine null statt der Funktion übergeben, wenn Sie keine Aktion beim Klicken auf die Schaltfläche beibehalten möchten.

Kotlin hat immer noch mehr Möglichkeiten, die Lesbarkeit des obigen Codes zu verbessern.

Jetzt 200 € Guthaben sichern

Testen Sie Ihr Setup auf ccloud³

Registrieren Sie sich in der ccloud³ und erhalten Sie 200 € Startguthaben für Ihr Projekt – z. B. für eine PostgreSQL-VM mit automatischen Backups.

centron Redaktion Technische Redaktion

Das Redaktionsteam von centron schreibt Anleitungen aus dem Betriebsalltag: getestet auf unserer eigenen Plattform, betrieben im Rechenzentrum in Hallstadt bei Bamberg.

Kategorie JavaScript
Teilen
Noch offene Fragen?

Our team will help you with your specific setup - in German or English, by people who run the platform themselves.

War dieses Tutorial hilfreich?

Your answer is stored anonymously and helps us improve our tutorials.

Kommentare

No comments yet - be the first to ask a question about this tutorial.

Sign in to comment

Comments are open to centron customers. Sign in to your account to ask a question about this tutorial.

Weiterlesen

Das könnte Sie auch interessieren

Jetzt kostenlos anfangen

Melden Sie sich an und erhalten Sie in den ersten 60 Tagen ein Guthaben von 200 € bei centron.

Dieses Werbeangebot gilt nur für neue Konten. Angebot ausschließlich für Gewerbetreibende.

Jetzt loslegen Sales kontaktieren