TimePickerDialog Schaltfläche Abbrechen
Habe ich eine Aktivität - TimePickerActivity - das schafft eine TimePickerDialog. Ich habe eine onTimeSetListener die Antwort auf die Set-Taste, die am Ende ruft finish() und zurück zu den Aktivitäten, genannt TimePickerActivity. Ich will es beenden und zurückkehren, wenn die Abbrechen-Schaltfläche geklickt, aber finde keine Möglichkeit, dies zu tun. Ich habe gegoogelt und versucht, aus mehreren Vorschlägen, aber keiner von Ihnen scheint zu arbeiten. Der einfache Weg, dies zu tun?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nur pass ein onCancelListener zu TimePicker.setOnCancelListener()
edit: Nach Ron ' s Probleme mit der Umsetzung habe ich beschlossen zu testen, mich dem code (antwortete ich nur einen Blick auf die API), und ich entdeckte, als auch wenn der code korrekt ist (ich nehme an, Sie hatte einen Tippfehler irgendwo als mein code kompiliert ok), wenn Sie auf die Schaltfläche Abbrechen, es hat nicht reagiert als gedacht...
Scheint es, dass, wenn Sie auf
cancel
Schaltfläche wird der Dialog nicht an diecancel()
Methode, feuert dieOnCancelListener
wie es scheint, das offensichtliche, aber diedismiss()
- Methode löst einOnDismissListener
, ziemlich komisch...Also dieser code funktioniert bei mir gut:
alle Kredite an diese SO beantworten...
TimePickerDialog.setOnCancelListener(ocl);
mitmyTPDialog.setOnCancelListener(ocl);
hier ist, wie ich es gemacht habe:
Meine Lösung basiert auf dem @maid450 Antwort, Bemerkung von @Fortega und eine Tatsache, dass OnDismissListener genannt wird (in der Regel in die Letzte Reihe) auf alle klicken, wenn ein Zeit-picker-dialog angezeigt wird.
Habe ich nur überschreiben (kotlin-Beispielcode)
Methode in meinem DialogFragment und rief onCancelClick von meinem interface:
Schließlich eine laufende Lösung...
Deklarieren Sie eine Boolesche variable in der Klasse als unten:
Dann auf den button klicken, rufen Sie die folgende Methode: