используйте этот метод выбора даты для лучшей производительности .. он также поддерживается в min device.hope, он будет вам полезен.
private void datePicker(){
// Get Current Date
final Calendar c = Calendar.getInstance();
final int mYear = c.get(Calendar.YEAR);
final int mMonth = c.get(Calendar.MONTH);
final int mDay = c.get(Calendar.DAY_OF_MONTH);
//get day Name
SimpleDateFormat sdfday = new SimpleDateFormat("EEEE");
Date d_name = new Date(mYear-1900,mMonth,mDay);
final String dayOfTheWeek = sdfday.format(d_name);
final DatePickerDialog datePickerDialog = new DatePickerDialog(this,R.style.picker1,
new DatePickerDialog.OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,int monthOfYear, int dayOfMonth) {
//get calendar format
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd-yyyy");
final String formatedDate = sdf.format(new Date(year-1900, monthOfYear, dayOfMonth));
date_time = formatedDate;
//*************Call Time Picker Here ********************
}
}, mYear, mMonth, mDay);
datePickerDialog.getDatePicker().setMinDate(c.getTimeInMillis());
datePickerDialog.show();
}
private void timePicker(){
// Get Current Time
final Calendar c = Calendar.getInstance();
final int mHour = c.get(Calendar.HOUR_OF_DAY);
final int mMinute = c.get(Calendar.MINUTE);
// Launch Time Picker Dialog
TimePickerDialog timePickerDialog = new TimePickerDialog(this,R.style.picker1,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay,int minute) {
DateInput.setText(date_time+" "+String.format("%02d:%02d", hourOfDay, minute));
Log.d("datenew",date_time + hourOfDay+":"+minute);
}
}, mHour, mMinute, false);
timePickerDialog.show();
}