Q:

How do I set AM/PM in a TimePicker?

I am using a TimePicker in my app. Whenever the user opens the screen with the TimePicker, I initialize it with the current time. When I do this, the TimePicker shows AM instead of PM. Why does this happen? Is there anything I have to add in my code?
Date initDate = m_NoteManageObject.getDateTimeArray(position);
Calendar myCal = Calendar.getInstance();

myCal.setTime(initDate);
TimePicker timePicker  = (TimePicker)layout.findViewById(R.id.time_picker);

// Initialise Time Picker

timePicker.setCurrentHour(myCal.get(Calendar.HOUR));
timePicker.setCurrentMinute(myCal.get(Calendar.MINUTE));

A:

You'll have to use Calendar.HOUR_OF_DAY instead of Calendar.HOUR.
i.e., timePicker.setCurrentHour() always expects the argument in 24-hour format. Unfortunately, this fact is not documented properly in the API documentation.

A:

public void onTimeSet(TimePickerDialog view, int hourOfDay, int minute) {
    if(hourOfDay>=0 && hourOfDay<12){
        time = hourOfDay + " : " + minute + " AM";
    } else {
        if(hourOfDay == 12){
            time = hourOfDay + " : " + minute + "PM";
        } else{
            hourOfDay = hourOfDay -12;
            time = hourOfDay + " : " + minute + "PM";
        }
    }

    deliveryTime.setText(time);
}

