J'utilise actuellement un sélecteur de date et d'heure pour récupérer une date et une heure soumises par l'utilisateur, puis j'ai défini le texte d'un contrôle sur la date et l'heure sélectionnées.Solution élégante pour récupérer la date et l'heure personnalisées?
J'utilise le code suivant:
new DatePickerDialog(newlog3.this, d, calDT.get(Calendar.YEAR), calDT.get(Calendar.MONTH), calDT.get(Calendar.DAY_OF_MONTH)).show();
new TimePickerDialog(newlog3.this, t, calDT.get(Calendar.HOUR_OF_DAY), calDT.get(Calendar.MINUTE), true).show();
optCustom.setText(fmtDT.format(calDT.getTime()));
maintenant, tandis que le bloc de code ci-dessus ne afficher la date et des widgets temps et définit le texte, le bloc de code est en cours d'exécution en plein avant que l'utilisateur peut sélectionnez la date .. c'est-à-dire: elle affiche d'abord la boîte de date, puis la case de temps par dessus, puis met à jour le texte, le tout sans intervention de l'utilisateur. Je voudrais que le widget de date attende pour exécuter le sélecteur de temps jusqu'à ce que la sélection de date soit terminée, et je voudrais que le settext ne s'exécute qu'après que le widget de temps soit terminé.
Comment est-ce possible? Ou est-ce qu'il y a une solution plus élégante qui m'échappe?
Edit: Voici le code pour DatePickerDialog/TimePickerDialog qui se trouve dans la classe:
DatePickerDialog.OnDateSetListener d=new DatePickerDialog.OnDateSetListener() {
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
calDT.set(Calendar.YEAR, year);
calDT.set(Calendar.MONTH, monthOfYear);
calDT.set(Calendar.DAY_OF_MONTH, dayOfMonth);
//updateLabel();
}
};
TimePickerDialog.OnTimeSetListener t=new TimePickerDialog.OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
calDT.set(Calendar.HOUR_OF_DAY, hourOfDay);
calDT.set(Calendar.MINUTE, minute);
//updateLabel();
}
};
Merci à l'avance
pensez-vous que vous pourriez donner un exemple de code? J'utilise actuellement les auditeurs ci-dessus dans ma classe, mais comment pourrais-je les adapter pour surveiller la fermeture du dialogue? – kefs
merci encore .. je l'ai compris sur la base de votre première suggestion et avait le même code sur ma fin, mais mon settext ne mettait pas à jour (ou alors je pensais .. j'avais le textview mis à invisible) .. de toute façon .. c'est travaille maintenant. juste remarqué que vous n'avez pas réglé l'heure/minute actuelle sur le timedialog ..: p – kefs