Atish Bhapkar
Atish Bhapkar

Reputation: 167

How to Show in TimePickerDialog extra 1 Hours

How to Add Extra 1 Hour in Time Picker Dialog. eg.:- If Current Hour is 4.00 Pm then I want to show 5.00 pm in Time Picker.

 final Calendar c = Calendar.getInstance();
                c.add(Calendar.HOUR,1);
                mHour = c.get(Calendar.HOUR_OF_DAY);
                mMinute = c.get(Calendar.MINUTE);

                // Launch Time Picker Dialog
                timePickerDialog = new TimePickerDialog(CheckOut.this,
                        new TimePickerDialog.OnTimeSetListener() {
                            @Override
                            public void onTimeSet(TimePicker view, int hourOfDay,
                                                  int minute) {

                                tvTimeSelect.setText("Delivery Time : "+hourOfDay + ":" + minute);
                                timePickerDialog.dismiss();
                            }
                        }, mHour, mMinute, false);
                timePickerDialog.show();

Please tell me Solution ...

Upvotes: 4

Views: 535

Answers (4)

abbas piplodawala
abbas piplodawala

Reputation: 302

You need to maintain consistency. If you are getting HOUR_OF_DAY then you need to set the same

Option 1 : using HOUR_OF_DAY

final Calendar c = Calendar.getInstance();
            c.add(Calendar.HOUR_OF_DAY,1);
            mHour = c.get(Calendar.HOUR_OF_DAY);
            mMinute = c.get(Calendar.MINUTE);

            // Launch Time Picker Dialog
            timePickerDialog = new TimePickerDialog(CheckOut.this,
                    new TimePickerDialog.OnTimeSetListener() {
                        @Override
                        public void onTimeSet(TimePicker view, int hourOfDay,
                                              int minute) {

                            tvTimeSelect.setText("Delivery Time : "+hourOfDay + ":" + minute);
                            timePickerDialog.dismiss();
                        }
                    }, mHour, mMinute, false);
            timePickerDialog.show();

Option 2 : using HOUR

final Calendar c = Calendar.getInstance();
            c.add(Calendar.HOUR,1);
            mHour = c.get(Calendar.HOUR);
            mMinute = c.get(Calendar.MINUTE);

            // Launch Time Picker Dialog
            timePickerDialog = new TimePickerDialog(CheckOut.this,
                    new TimePickerDialog.OnTimeSetListener() {
                        @Override
                        public void onTimeSet(TimePicker view, int hourOfDay,
                                              int minute) {

                            tvTimeSelect.setText("Delivery Time : "+hourOfDay + ":" + minute);
                            timePickerDialog.dismiss();
                        }
                    }, mHour, mMinute, false);
            timePickerDialog.show();

Upvotes: 3

MaTePe
MaTePe

Reputation: 954

Shouldn't you change it to this if you want 12H instead of 24H?

mHour = c.get(Calendar.HOUR);

http://docs.oracle.com/javase/6/docs/api/java/util/Calendar.html

Upvotes: 1

Mujammil Ahamed
Mujammil Ahamed

Reputation: 1494

Check this,Tested it's working

Calendar mcurrentTime = Calendar.getInstance();
mcurrentTime.add(Calendar.HOUR,1);
int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
int minute = mcurrentTime.get(Calendar.MINUTE);
TimePickerDialog mTimePicker;
                    mTimePicker = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
                        @Override
                        public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
                            tvTimeSelect.setText(selectedHour + ":" + selectedMinute);
                        }
                    }, hour, minute, true);//Yes 24 hour time
mTimePicker.setTitle("Select Time");
mTimePicker.show();

Upvotes: 1

Ankita Shah
Ankita Shah

Reputation: 1904

Try this c.add(Calendar.HOUR_OF_DAY,1); instead of c.add(Calendar.HOUR,1);

Upvotes: 1

Related Questions