How to show an additional 1 hour in TimePickerDialog

How to add an additional 1 hour in the time selection dialog box. for example :: If the current hour is 4.00 Pm, then I want to show 17.00 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 the solution ...

+4
source share
4 answers

You need to maintain consistency. If you get 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();
+3
source

Try c.add(Calendar.HOUR_OF_DAY,1);insteadc.add(Calendar.HOUR,1);

+1
source

, ,

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();
+1
+1
source

Source: https://habr.com/ru/post/1660174/


All Articles