Bonjour,
Je cherche une méthode pour que quant je clique sur une zone hors du datepicker pour annuler la saisie, il annule la saisie au lieux d'appliquer la méthode onSetDate
Vous auriez une idée ?
Version imprimable
Bonjour,
Je cherche une méthode pour que quant je clique sur une zone hors du datepicker pour annuler la saisie, il annule la saisie au lieux d'appliquer la méthode onSetDate
Vous auriez une idée ?
Au final, j'ai trouvé une méthode:
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57 private class setDate implements DatePickerDialog.OnDateSetListener { private EditText editText; private Calendar myCalendar; String oldDate; int mYear; int mMonth; int mDay; public setDate(final EditText editText) { this.editText = editText; myCalendar = Calendar.getInstance(); if (editText.getText().length()>0) { oldDate = editText.getText().toString(); mYear = Integer.valueOf(oldDate.substring(0, 4)); mMonth = Integer.valueOf(oldDate.substring(4, 6))-1; mDay = Integer.valueOf(oldDate.substring(6, 8)); } else { mYear = myCalendar.get(Calendar.YEAR); mMonth = myCalendar.get(Calendar.MONTH); mDay = myCalendar.get(Calendar.DAY_OF_MONTH); } final DatePickerDialog dpd = new DatePickerDialog(getContext(), this, mYear,mMonth, myCalendar.get(Calendar.DAY_OF_MONTH)); dpd.setCanceledOnTouchOutside(true); dpd.setButton(DialogInterface.BUTTON_POSITIVE, getContext().getString(R.string.ok), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { DatePicker dp = dpd.getDatePicker(); String myFormat = "yyyyMMdd"; SimpleDateFormat sdformat = new SimpleDateFormat(myFormat, Locale.FRANCE); myCalendar.set(Calendar.YEAR, dp.getYear()); myCalendar.set(Calendar.MONTH, dp.getMonth()); myCalendar.set(Calendar.DAY_OF_MONTH, dp.getDayOfMonth()); editText.setText(sdformat.format(myCalendar.getTime())); } }); dpd.setButton(DialogInterface.BUTTON_NEGATIVE, getContext().getString(R.string.cancel), new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { } }); dpd.show(); } @Override public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {} }