Bitte schauen Sie sich den benutzerdefinierten Dialog unten an. Ich habe ein Edittext-Feld im Dialogfeld und wenn das Textfeld leer ist, möchte ich das deaktivieren positiveButton
. Ich kann einen charListener für das Textfeld erhalten, bin mir aber nicht sicher, wie ich die Einstellung positivebutton
für diesen Listener deaktivieren oder aktivieren soll. Was ist die Referenz für die positiven und negativen Tasten?
case DIALOG_TEXT_ENTRY:
// This example shows how to add a custom layout to an AlertDialog
LayoutInflater factory = LayoutInflater.from(this);
final View textEntryView = factory.inflate(R.layout.alert_dialog_text_entry, null);
return new AlertDialog.Builder(AlertDialogSamples.this)
.setIconAttribute(android.R.attr.alertDialogIcon)
.setTitle(R.string.alert_dialog_text_entry)
.setView(textEntryView)
.setPositiveButton(R.string.alert_dialog_ok, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked OK so do some stuff */
}
})
.setNegativeButton(R.string.alert_dialog_cancel, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
/* User clicked cancel so do some stuff */
}
})
.create();
}
Antworten:
Bearbeiten für vollständige Lösung ...
Hier ist ein Beispielcode, versuchen Sie dies
Für negative Taste
Für Schaltflächen-ID : Referenz alert_dialog.xml
Bearbeitet:
Und der setOnShowListener seit Level 8 API (FroYo) macht dasselbe,
Bearbeitet
quelle
Keine dieser Antworten löst das Problem wirklich.
Ich erreiche dies mit einem benutzerdefinierten Layout mit einem EditText und einem TextWatcher in dieser Ansicht.
quelle
d
Hier ist der vollständige Code zum Aktivieren und Deaktivieren der positiven Schaltfläche des Dialogfelds:
quelle
Sie können einen Listener in das Bearbeitungstextfeld schreiben und versuchen, Schaltflächen zu aktivieren oder zu deaktivieren. Dies ist ein Beispielcode für Xamarin.
quelle
Zum Löschen von Datensätzen aus der Datenbanklistenansicht mithilfe des Ansichtsinhabers haben Sie diesen Code in Ihrer Methode getview () verwendet.
Weiterlesen
quelle
Dieses dialogFragment erledigt die Arbeit für Sie. Beachten Sie, dass das Dialogfeld nach der Bildschirmrotation geöffnet bleibt und der vom Benutzer bereits eingegebene Text erhalten bleibt. Wenn dies nicht gewünscht wird, müssen Sie das Fragment in onStop Ihrer Aktivität schließen. Die Signatur der newInstance-Methode kann nach Bedarf geändert werden.
Fügen Sie Ihrer Aktivität Geräte hinzu (jede Art von Aktivität ist in Ordnung):
Erstellen Sie das diaglogFragment in Ihrer Aktivität wie folgt:
Behandeln Sie das Ergebnis Ihrer Aktivität folgendermaßen:
Sie müssen die Ressourcenkennung erstellen, also fügen Sie diese Ressource irgendwo unter res / values hinzu
quelle
Das könnte dir helfen, danke.
quelle