Ich habe folgende Einträge als AppCompatSpinner
:
Nach Auswahl von Pick a time..
wird ein TimePickerDialog
geöffnet und der Benutzer kann eine Zeit auswählen. Hier ist wie:
Nach der ersten Auswahl von Pick a time..
wird TimePickerDialog erfolgreich geöffnet und die gewählte Zeit wird angezeigt, aber wenn ich sie erneut auswähle oder erneut klicke, passiert nichts!
Ich weiß nicht warum!
Bitte lassen Sie mich wissen, wie ich den TimePickerDialog öffnen kann und wähle die Zeit, egal wie oft ich sie anklicke / klicke.
Befolgen Sie diese Schritte:
Erstellen Sie eine benutzerdefinierte Spinner-Klasse
%Vor% Erzeuge onItemSelectedListener
in deiner Aktivität
Fügen Sie das Listener-Objekt der benutzerdefinierten Spinner-Methode hinzu
%Vor% In Ihrer xml
Datei
Spinner (oder eigentlich AdapterView, seine Oberklasse) löst OnItemSelectedListener nur aus, wenn sich die Auswahl ändert.
Wenn Ihr Benutzer "Zeit auswählen ..." auswählt, nimmt Spinner an, dass es eine ausgewählte Option ist, und ruft den Listener nicht mehr an, wenn er erneut ausgewählt wird. Sie können jedoch feststellen, dass, wenn "Wählen Sie eine Zeit ..." ausgewählt ist, dann "Jetzt" und dann "Wählen Sie eine Zeit ...", der Dialog erscheint.
Ich würde empfehlen, Spinner in Ihrem Fall zu verwenden (und mit der ausgewählten Ansicht etwas seltsame Scheiße zu machen). Sie können das gleiche mit TextView erreichen, das die ausgewählte Zeit und zwei Schaltflächen anzeigt - eine zum Anzeigen des Dialogs und eine zum Zurücksetzen der Zeit auf jetzt.
Tags und Links java android android-spinner timepicker