2010-12-20 12 views
2

Ich habe einen DatePicker in meiner Tätigkeit. Es funktioniert einwandfrei, es sei denn, der Benutzer gibt das Datum über die Tastatur ein und verwendet nicht die Tasten + oder -, um das Datum zu ändern. Das Datum, das zurückgegeben wird, wenn der Benutzer über die Tastatur bearbeitet, ist immer das, mit dem der DatePicker initialisiert wird. Beim Debuggen bemerke ich, dass der Callback onDateChanged() nie aufgerufen wird, außer wenn das Datum mit den Tasten geändert wird.DatePicker reagiert nicht auf Benutzereingaben von Tastatur in Android

Antwort

8

Ja, ich treffe dieses Problem auch. Der Datepicker speichert die Änderung nur, wenn Sie den Fokus vom aktiven Bearbeitungstext entfernen. Also müssen Sie "mDatePicker.clearFocus();" bevor du das Datum davon bekommst.

+0

Danke. aber ich entschied mich dafür, diesen Teil durch einen Dialog für die Datumsauswahl zu ersetzen. aber ich habe die vorgeschlagene lösung überprüft und es funktioniert so danke. – vlator

+1

@vator vergessen Sie nicht, eine Antwort zu akzeptieren, diese Lösung hat für mich funktioniert: D – schwiz

6

Schauen Sie sich diese Lösung ...

DatePicker dp = (DatePicker) findViewById(R.id.datePicker1); 
dp.clearChildFocus(getCurrentFocus()); 
int day = dp.getDayOfMonth(); 
int month = dp.getMonth(); 
int year = dp.getYear(); 

... mit "clearFocus" die Datepicker nicht vollständig Benutzer Änderungen speichern.

Verwandte Themen