Reputation: 115
How to set min time on timepicker dialog or disable past time on timepicker dialog in android. Any library suggestion ?
Upvotes: 1
Views: 8727
Reputation: 1106
public class MainActivity extends AppCompatActivity implements DatePickerDialog.OnDateSetListener, TimePickerDialog.OnTimeSetListener
For Time Picker
@SuppressLint("WrongConstant")
public void showTimePicker(Calendar calendar) {
Calendar minTimeCalendar = Calendar.getInstance();
minTimeCalendar.setTime(localToGMT(minTimeCalendar.getTime()));
TimePickerDialog tpd = TimePickerDialog.newInstance(this, calendar.get(11), calendar.get(12), true);
if (compareToDate(calendar.getTime(), minTimeCalendar.getTime())) {
minTimeCalendar.add(12, 60);
tpd.setMinTime(minTimeCalendar.get(11), 0, 0);
}
**tpd.enableMinutes(false);**
tpd.setVersion(TimePickerDialog.Version.VERSION_2);
tpd.show(getFragmentManager(), "TimePickDialog");
}
For Date Picker
public void showDatePicker(Calendar calendar) {
Calendar minDateCalendar = Calendar.getInstance();
if (currentHour == 24) {
minDateCalendar.add(Calendar.DAY_OF_YEAR, 1);
}
minDateCalendar.setTime(localToGMT(minDateCalendar.getTime()));
@SuppressLint("WrongConstant") DatePickerDialog dpd = DatePickerDialog.newInstance(this, calendar.get(1), calendar.get(2), calendar.get(5));
dpd.setMinDate(minDateCalendar);
dpd.setVersion(DatePickerDialog.Version.VERSION_2);
dpd.show(getFragmentManager(), "DatePickerDialog");
}
Both Override method
@Override
public void onDateSet(DatePickerDialog view, int year, int monthOfYear, int dayOfMonth) {
//display selected date here code
}
@Override
public void onTimeSet(TimePickerDialog view, int hourOfDay, int minute, int second) {
//display selected time here code
}
Hope this helps you...if you need any help you can ask
Upvotes: 1