Trying to figure out the timepicker dialog in Android. The problem I'm having is that when I select a time, and put it in my TextView field, all preceding zeros are removed. 06:05 is shown as 6:5. How can I keep the preceding zeros?
The code of my timepicker:
ic_BedtimePicker.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Calendar mcurrentTime = Calendar.getInstance();
int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
int minute = mcurrentTime.get(Calendar.MINUTE);
TimePickerDialog mTimePicker;
mTimePicker = new TimePickerDialog(getActivity(), new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
editBedtime.setText( "" + selectedHour + ":" + selectedMinute);
}
}, hour, minute, true);
mTimePicker.setTitle("Select Time");
mTimePicker.show();
}
});
Create a new method checkDigit(int) in your activity that return you selected time with preceeding zeros.
public String checkDigit(int number) {
return number <= 9 ? "0" + number : String.valueOf(number);
}
and call this method from TimePicker Dialog onClick handler.
editBedtime.setText( "" + checkDigit(selectedHour) + ":" + checkDigit(selectedMinute));