0

How to set min time on timepicker dialog or disable past time on timepicker dialog in android. Any library suggestion ?

Phantômaxx
  • 37,901
  • 21
  • 84
  • 115
Nitesh Shrivas
  • 105
  • 1
  • 10

1 Answers1

1
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

Mahesh Vayak
  • 1,056
  • 12
  • 25