Je souhaite afficher la fenêtre contextuelle de datepicker. J'ai trouvé quelques exemples mais je ne les reçois pas correctement. J'ai un bouton et je veux que lorsque je clique sur le bouton, la boîte de dialogue de sélection de date devrait apparaître et après avoir réglé la date, la date devrait être stockée dans une variable. Veuillez me fournir un exemple de code ou de bons liens.
Faites de cette classe la classe intérieure de votre activité
si vous souhaitez définir la date actuelle comme la date que vous voyez lorsque vous ouvrez votre datePicker. Vous pouvez l'obtenir comme ça
Calendar c = Calendar.getInstance();
int startYear = c.get(Calendar.YEAR);
int startMonth = c.get(Calendar.MONTH);
int startDay = c.get(Calendar.DAY_OF_MONTH);
class StartDatePicker extends DialogFragment implements DatePickerDialog.OnDateSetListener{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
// TODO Auto-generated method stub
// Use the current date as the default date in the picker
DatePickerDialog dialog = new DatePickerDialog(BookingFormActivity.this, this, startYear, startMonth, startDay);
return dialog;
}
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
// Do something with the date chosen by the user
startYear = year;
startMonth = monthOfYear;
startDay = dayOfMonth;
updateStartDateDisplay();
}
}
vous pouvez appeler cette boîte de dialogue en définissant cette méthode sur onClick
public void showStartDateDialog(View v){
DialogFragment dialogFragment = new StartDatePicker();
dialogFragment.show(getFragmentManager(), "start_date_picker");
}
Essaye ça.
Utilisez ce code dans votre clic de bouton. La boîte de dialogue du sélecteur de date s'affiche.
Calendar c = Calendar.getInstance();
int mYear = c.get(Calendar.YEAR);
int mMonth = c.get(Calendar.MONTH);
int mDay = c.get(Calendar.DAY_OF_MONTH);
System.out.println("the selected " + mDay);
DatePickerDialog dialog = new DatePickerDialog(Registration.this,
new mDateSetListener(), mYear, mMonth, mDay);
dialog.show();
Ensuite, la classe mDateSetListener
doit être écrite.
class mDateSetListener implements DatePickerDialog.OnDateSetListener {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear,
int dayOfMonth) {
// TODO Auto-generated method stub
// getCalender();
int mYear = year;
int mMonth = monthOfYear;
int mDay = dayOfMonth;
v.setText(new StringBuilder()
// Month is 0 based so add 1
.append(mMonth + 1).append("/").append(mDay).append("/")
.append(mYear).append(" "));
System.out.println(v.getText().toString());
}
}
Veuillez vérifier cette réponse et voter.