Reputation: 167
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
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
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
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
Reputation: 1904
Try this c.add(Calendar.HOUR_OF_DAY,1);
instead of c.add(Calendar.HOUR,1);
Upvotes: 1