Dans cette étape je vais mettre en place l’interface qui vas permettre de sélectionner les dates entre lesquelles le planning des recettes sera généré automatiquement.
J’aurai donc un champ date début et le bouton permettant de sélectionner la date de début.
Un champ date fin et le bouton permettant de sélectionner la date de fin.
Un bouton valider et une Listview pour afficher la liste des recettes qui collent à mon planning.
Pour afficher notre calendrier de sélectionne de date je vais utiliser la classe DatePicker.
Mon fichier xml de l’interface
dans ma class principale se rajoue 3 attributs année,mois,jour.
private int mYear;
private int mMonth;
private int mDay;
Esuite je rajoute le code suivant,création de ma boite de dialogue avec sélection de date
// creation de boite de dialogue
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case 0:
return new DatePickerDialog(this,
mDateSetListener,
mYear, mMonth, mDay);
}
return null;
}
private DatePickerDialog.OnDateSetListener mDateSetListener =
new DatePickerDialog.OnDateSetListener() {
//creation du widget
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
mYear = year;
mMonth = monthOfYear;
mDay = dayOfMonth;
//updateDisplay();
}
};
Le menu génération de planning est sur item04, donc dans ma fonction de gestion des menus je rajoute donc
case R.id.item02:
this.setContentView(R.layout.generation_planning);
Button mPickDatedebut = (Button) findViewById(R.id.pickDatedebut);
Button mPickDatefin = (Button) findViewById(R.id.pickDatefin);
final Calendar c = Calendar.getInstance();
mYear = c.get(Calendar.YEAR);
mMonth = c.get(Calendar.MONTH);
mDay = c.get(Calendar.DAY_OF_MONTH);
//click sur le bouton debut
mPickDatedebut.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//ouverturede la femetre widget
showDialog(0);
}
});
//click sur le bouton date fin
mPickDatefin.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
//ouverturede la femetre widget
showDialog(0);
}
});
return true;
Résultat
code source ici
Il est temps de mettre à profit les tutoriels d’Android France:
Passez à la vitesse supérieure et investissez quelques dizaines d’euros pour acquérir les connaissances qui vous feront gagner de l’argent avec vos applications rendez-vous sur notre boutique Android-france pour ces formations en vidéo