Android - Set minimum and maximum time for Time picker

I am trying to set the min and max time for time picker. I am giving the values like following

1 -> min - 10:00 and max - 12:00

2 -> min - 15:00 and max - 18:00

3 -> min - 19:00 max 20:00

4 -> min - 23:00 max 24:00

And I am using the following code:

@Override
    public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
                boolean flag = true;

                if (hourOfDay <= maximumHour && hourOfDay >= minimumHour) {
                    if (hourOfDay == maximumHour && hourOfDay == minimumHour) {
                        if (minute > maximumMin)
                            flag = false;
                        else if (minute < minimumMin)
                            flag = false;
                        else if (minute == maximumMin && minute == minimumMin) {
                            flag = false;
                        } else if (minute == maximumMin) {
                            flag = false;
                        } else if (minute == minimumMin) {
                            flag = false;
                        }
                    } else if (hourOfDay == maximumHour) {
                        if (minute > maximumMin) {
                            flag = false;
                        }
                    } else if (hourOfDay == minimumHour) {
                        if (minute < minimumMin)
                            flag = false;
                    }
                    if (flag) {
                        curHour = hourOfDay;
                        curMin = minute;
                    } else {
                        updateTime(curHour, curMin);

                    }
                }
}

This code is working for 2nd and 3rd scenarios. But for 1st and 4th scenarios I can not set the time to 12 AM or 12 PM. I can set upto 11:59 AM and 11:59 PM.

I verified Android TimePickerDialog set max time this too. But I am getting same issue. please help me on this.

Upvotes: 0

Views: 1725

Answers (1)

Amit pandey
Amit pandey

Reputation: 1195

try datePicker.setMaxDate(); datePicker.setMinDate();

please check this link as well : enter link description here

Upvotes: -1

Related Questions