Die Methode setView()
der Klasse AlertDialog
ermöglicht die Angabe einer benutzerdefinierten Ansicht für das Dialogfeld. Gibt es Einschränkungen hinsichtlich der Steuerelemente, die in dieser benutzerdefinierten Ansicht enthalten sein können?
Wenn wir eine benutzerdefinierte Ansicht festlegen, können wir außerdem weiterhin Schaltflächen mit setPositiveButton()
, setNegativeButton()
usw. hinzufügen?
Die Methode setView () der AlertDialog-Klasse ermöglicht es, eine benutzerdefinierte Ansicht für das Dialogfeld anzugeben. Gibt es Einschränkungen hinsichtlich der Steuerelemente, die in dieser benutzerdefinierten Ansicht enthalten sein können?
Die setView()
Methode in AlertDialog.Builder nimmt jede Klasse von < a href="http://developer.android.com/reference/android/view/View.html"> Ansicht (siehe seine Unterklassen und ihre Unterklassen).
Dies bedeutet Edittexte, Buttons usw. Aber auch Layouts, die von viewGroups ausgehen.
Wenn wir eine benutzerdefinierte Ansicht festlegen, können wir weiterhin Schaltflächen mit setPositiveButton, setNegativeButton usw. hinzufügen?
Ja, es betrifft nur den Körper. Schaltflächen werden unterhalb des Layouts hinzugefügt.
%Vor%UPDATE:
Diese Antwort scheint seit 2 Jahren einige neue Aktivitäten zu bekommen und einige Dinge haben sich geändert.
Ich habe den Code ein wenig aktualisiert, um die Formatierung zu verbessern, und den folgenden Tipp aufgrund des aktuellen Stands der Best Practices hinzugefügt.
Der AlertDialog definiert den Stil und die Struktur für Ihren Dialog, aber Sie sollten ein DialogFragment als Container für Ihren Dialog verwenden. Die DialogFragment-Klasse stellt alle Steuerelemente bereit, die Sie zum Erstellen Ihres Dialogfelds und zum Verwalten seiner Darstellung benötigen, anstatt Methoden für das Dialog-Objekt aufzurufen.
Das obige Beispiel ist gemeint, wenn Sie DialogFragment erweitern und einen AlertDialog in der onCreateDialog () - Callback-Methode erstellen.
In der bereitgestellten Dokumentation für AlertDialog
gibt es keine Einschränkungen hinsichtlich der möglichen Einstellungen in der Sicht eines AlertDialogs.
Die benutzerdefinierte Ansicht wird also unter dem Titel des Dialogfelds und über den Schaltflächen eingefügt, die davon nicht betroffen sind.
Soweit ich weiß, können Sie in setView () alles hinzufügen, was Sie wollen. Die positiven / negativen Tasten sind davon nicht betroffen.
Tags und Links android android-alertdialog android-custom-view