2010-12-20 2 views
2

J'ai un DatePicker dans mon activité. Cela fonctionne bien sauf lorsque l'utilisateur entre la date via le clavier et n'utilise pas les boutons + ou - pour changer la date. La date renvoyée lorsque l'utilisateur modifie via le clavier est toujours celle avec laquelle DatePicker est initialisé. Lors du débogage, je remarque que le rappel onDateChanged() n'est jamais appelé sauf si la date est modifiée à l'aide des boutons.DatePicker ne répond pas aux entrées utilisateur du clavier dans Android

Répondre

8

Oui, je rencontre aussi ce problème. Le programme datepicker enregistrera la modification uniquement si vous supprimez le focus de l'edittext actif. Vous devez donc exécuter "mDatePicker.clearFocus();" avant d'en avoir la date.

+0

Merci. mais j'ai décidé de remplacer cette partie par une boîte de dialogue de sélection de date à la place. mais j'ai vérifié la solution que vous avez suggérée et cela fonctionne donc merci. – vlator

+1

@vlator ne pas oublier d'accepter une réponse, cette solution a fonctionné pour moi: D – schwiz

6

Regardez cette solution ...

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

... en utilisant "clearfocus" DatePicker ne sera pas complètement enregistrer les modifications de l'utilisateur.

Questions connexes