09.02.2017 Views

creez-des-applications-pour-android

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

3.6 Des widgets plus avancés et <strong>des</strong> boîtes de dialogue<br />

listener_en_cas_de_changement_de_date). Tous les attributs semblent assez évidents de<br />

prime abord à l’exception du dernier, peut-être. Il s’agit d’un Listener qui s’enclenche dès que<br />

la date du widget est modifiée, on l’utilise comme n’importe quel autre Listener. Remarquez<br />

cependant que ce paramètre peut très bien rester null.<br />

Enfin vous pouvez à tout moment récupérer l’année avec int getYear(), le mois avec int<br />

getMonth() et le jour dans le mois avec int getDayOfMonth().<br />

Par exemple, j’ai créé un DatePicker en XML, qui commence en 2012 et se termine en 2032 :<br />

<br />

Puis je l’ai récupéré en Java afin de changer la date de départ (par défaut, un DatePicker s’initialise<br />

à la date du jour) :<br />

mDatePicker = (DatePicker) findViewById(R.id.datePicker);<br />

mDatePicker.updateDate(mDatePicker.getYear(), 0, 1);<br />

Ce qui donne le résultat visible à la figure suivante.<br />

Figure 3.64 – Notre DatePicker<br />

3.6.4.1.2 Insertion d’horaires Pour choisir un horaire, on utilise TimePicker, classe pas<br />

très contraignante puisqu’elle fonctionne comme DatePicker ! Alors qu’il n’est pas possible de<br />

définir un horaire maximal et un horaire minimal cette fois, il est possible de définir l’heure avec<br />

void setCurrentHour(Integer hour), de la récupérer avec Integer getCurrentHour(),<br />

et de définir les minutes avec void setCurrentMinute(Integer minute), puis de les récupérer<br />

avec Integer getCurrentMinute().<br />

Comme nous utilisons en grande majorité le format 24 heures (rappelons que <strong>pour</strong> nos amis américains<br />

il n’existe pas de 13 e heure, mais une deuxième 1 re heure), notez qu’il est possible de l’activer<br />

à l’aide de la méthode void setIs24HourView(Boolean mettre_en_format_24h).<br />

Le Listener <strong>pour</strong> le changement d’horaire est cette fois géré par void setOnTimeChangedListener(TimePic<br />

onTimeChangedListener).<br />

Cette fois encore, je définis le TimePicker en XML :<br />

205

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!